Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
Веб-мастер
 Аватар для Maksimchikfull
89 / 89 / 19
Регистрация: 11.08.2011
Сообщений: 674

Как отправить форму в тотже файл?

20.04.2012, 16:15. Показов 1266. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот код:
JavaScript
1
2
3
4
5
function submitForm(event,formName){
    if((event.ctrlKey) && (event.keyCode == 13)){
        formName.submit.click();
    }
}
Но этот код новое окно открывает.

Добавлено через 1 час 14 минут
Вот так пытаюсь еще:
JavaScript
1
<form onKeyDown='if(event.ctrlKey && event.keyCode == 13){ this.submit(); }'>
Но ничего. А а сайте: qrcoder.ru, работает.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.04.2012, 16:15
Ответы с готовыми решениями:

Как отправить файл через PHP форму?
Помогите разобраться с этими скриптами, читал много, видео почти нет, так и не понял, как это сделать максимально просто. На своей...

Отправить файл из сервера в форму
Есть форма &lt;form action=&quot;http://site.ru/file.php&quot; method=&quot;post&quot; enctype=&quot;multipart/form-data&quot;&gt; Модуль: &lt;input type=&quot;text&quot;...

Как отправить форму в БД
Как отправить мне мою форму? Перерыл инет, но не нашел ничего стоящего.... Вот форма: menu.php &lt;!DOCTYPE html&gt;

16
467 / 431 / 117
Регистрация: 15.02.2012
Сообщений: 1,947
20.04.2012, 16:24
этот код за новое окно не отвечает, скорее всего у вас стоит у формы target="_blank" или есть другой скрипт в котором требуется открыть что-то в новом окне, а параметры совпадают с текущими.
0
Веб-мастер
 Аватар для Maksimchikfull
89 / 89 / 19
Регистрация: 11.08.2011
Сообщений: 674
20.04.2012, 16:58  [ТС]
Цитата Сообщение от tgarl Посмотреть сообщение
этот код за новое окно не отвечает, скорее всего у вас стоит у формы target="_blank" или есть другой скрипт в котором требуется открыть что-то в новом окне, а параметры совпадают с текущими.
JavaScript
1
<form onKeyDown='if(event.ctrlKey && event.keyCode == 13){ this.submit(); }'>
Где _blank??? Посмотрите на сайте который я ниже отослал. Там также форма устроена. Совсем небольшие отличия.

Только вот этот код:
JavaScript
1
2
3
4
5
function submitForm(event,formName){
    if((event.ctrlKey) && (event.keyCode == 13)){
        formName.submit.click();
    }
}
Открывает новое окно, а взаимодействую с функцией так:
JavaScript
1
<form onKeyDown='submitForm(event,this.name)'>


Вообще мне надо чтобы дали ответ в виде кода, чтоб разобратся можно было.
Вот форма с сайта где это работает:
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<form onkeydown="if(event.ctrlKey&&event.keyCode==13)this.submit()">
<div class="formBody">
<div>введите текст для кодирования:</div>
<div class="inputCover"><textarea name="d"></textarea></div>
</div>
<div class="formBottom">
<div class="size">размер:
<span class="check"><input type="radio" name="s" id="qr_s_2" value="2"><label for="qr_s_2">1</label></span>
<span class="check"><input type="radio" name="s" id="qr_s_3" value="3"><label for="qr_s_3">2</label></span>
<span class="check"><input type="radio" name="s" id="qr_s_4" value="4" checked><label for="qr_s_4">3</label></span>
<span class="check"><input type="radio" name="s" id="qr_s_6" value="6"><label for="qr_s_6">4</label></span>
<span class="check"><input type="radio" name="s" id="qr_s_8" value="8"><label for="qr_s_8">5</label></span>
<span class="check"><input type="radio" name="s" id="qr_s_10" value="10"><label for="qr_s_10">6</label></span>
</div>
<input type="submit" value="создать код (ctrl+enter)">
</div>
</form>
А вот моя форма:
JavaScript
1
2
3
4
5
<form onKeyDown='if(event.ctrlKey && event.keyCode == 13){alert(this);}'>
<p><input name='theme' type='text' size='20' maxlength='255' style='width: 99%;'></p>
<p><textarea name='text' cols='20' rows='10' style='width: 99%;'></textarea></p>
<p><input id='submit' type='submit' value='Отправить'></p>
</form>
И пример по нажатию ctrl+enter все правильно работает. А вот как отправлять, я не знаю.
0
467 / 431 / 117
Регистрация: 15.02.2012
Сообщений: 1,947
20.04.2012, 17:24
попробуйте добавить в форму - action="" method="метод отправки" target="_self" name="имя формы". чтобы форма была более полная
возможно это поможет
0
Веб-мастер
 Аватар для Maksimchikfull
89 / 89 / 19
Регистрация: 11.08.2011
Сообщений: 674
20.04.2012, 17:34  [ТС]
Цитата Сообщение от tgarl Посмотреть сообщение
попробуйте добавить в форму - action="" method="метод отправки" target="_self" name="имя формы". чтобы форма была более полная
возможно это поможет
Неа. =(

HTML5
1
2
3
4
5
<form action='' method='post' name='newmess' target='_self' onKeyDown='if(event.ctrlKey && event.keyCode == 13)this.submit()'>
<p><input name='theme' type='text' size='20' maxlength='255' style='width: 99%;'></p>
<p><textarea name='text' cols='20' rows='10' style='width: 99%;'></textarea></p>
<p><input id='submit' type='submit' value='Отправить'></p>
</form>
-----------------------------------------------------------------------------------------------------------
Как вы выполнилиб данное действие. Мне надо что бы по нажатию сочетания ctrl+enter форма отправлялась как по нажатию на кнопке "Отправить". ctrl+enter работает если вместо "this.submit()"(как я видел на сайте - на котором работал этот код), поставить alert(1).
0
467 / 431 / 117
Регистрация: 15.02.2012
Сообщений: 1,947
20.04.2012, 17:52
JavaScript
1
2
3
4
5
6
7
8
9
$(document).keyup(function (e) {
    if(e.which == 17) isCtrl=false;
}).keydown(function (e) {
    if(e.which == 17) isCtrl=true;
    if(e.which == 13 && isCtrl == true) {
        document.newmess.action=''; 
        document.newmess.submit();
    }
});
HTML5
1
2
3
4
5
<form action='' method='post' name='newmess' >
<p><input name='theme' type='text' size='20' maxlength='255' style='width: 99%;'></p>
<p><textarea name='text' cols='20' rows='10' style='width: 99%;'></textarea></p>
<p><input id='submit' type='submit' value='Отправить'></p>
</form>
как-то так сделал бы
0
Веб-мастер
 Аватар для Maksimchikfull
89 / 89 / 19
Регистрация: 11.08.2011
Сообщений: 674
20.04.2012, 17:58  [ТС]
tgarl, Не, не работает. =\\
0
 Аватар для ostgals
886 / 681 / 101
Регистрация: 23.01.2009
Сообщений: 1,582
20.04.2012, 18:15
Уберите id="submit".
1
Веб-мастер
 Аватар для Maksimchikfull
89 / 89 / 19
Регистрация: 11.08.2011
Сообщений: 674
20.04.2012, 18:22  [ТС]
ostgals, Удивительно!
Но почему оно так?
0
 Аватар для ostgals
886 / 681 / 101
Регистрация: 23.01.2009
Сообщений: 1,582
20.04.2012, 18:28
Цитата Сообщение от Maksimchikfull Посмотреть сообщение
Но почему оно так?
Современные браузеры для заполнения js-объекта формы используют не только атрибут name, но и id, если нет name. Поэтому, назначив кнопке id="submit" вы переписали метод отправки формы на саму кнопку.

JavaScript
1
this.submit(); // <-- ошибка, уже нет такого метода! submit - это объект кнопки
Резюме: вдумчиво используйте атрибуты id и name для полей формы.
2
Веб-мастер
 Аватар для Maksimchikfull
89 / 89 / 19
Регистрация: 11.08.2011
Сообщений: 674
20.04.2012, 19:27  [ТС]
ostgals, Пришол к такому коду:

JavaScript
1
2
3
4
5
<form action='' method='post' onKeyDown='if((event.ctrlKey) && (event.keyCode == 13)){ this.submit(); }'>
<p><input name='theme' type='text' size='20' maxlength='255' style='width: 99%;'></p>
<p><textarea name='text' cols='20' rows='14' style='width: 99%;'></textarea></p>
<p><input name='submit_send' type='submit' value='Отправить'></p>
</form>
Обработка находится в томже файле что и эта форма:
PHP
1
2
3
4
5
6
7
8
9
if(isset($_POST['submit_send'])){
    $theme = $_POST['theme'];
    $text = $_POST['text'];
    
    if($theme == ""){ $theme = "..."; }
    if($text == ""){ unset($text); $status .= "<p>Введите текст сообщения!</p>\n"; }
    
    if($status != ""){ echo $status; }
}
Но при нажатии мышкой на кнопку отправить. Все успешно срабатывает.
При нажатии ctrl+enter, кнопку с её именем не отправляет. И из за этого ничего не работает.
0
 Аватар для ostgals
886 / 681 / 101
Регистрация: 23.01.2009
Сообщений: 1,582
20.04.2012, 19:51
Покажите весь файл целиком.

У меня пример работает.
0
Веб-мастер
 Аватар для Maksimchikfull
89 / 89 / 19
Регистрация: 11.08.2011
Сообщений: 674
20.04.2012, 20:00  [ТС]
messages.php
HTML5
1
2
3
4
5
<form action='' method='post' name='newmess' onKeyDown='if((event.ctrlKey) && (event.keyCode == 13)){ this.submit(); }'>
<p><input name='theme' id='theme' type='text' size='20' maxlength='255' style='width: 99%;'></p>
<p><textarea name='text' id='text' cols='20' rows='14' style='width: 99%;'></textarea></p>
<p><input type='submit' value='Отправить'></p>
</form>
0
 Аватар для ostgals
886 / 681 / 101
Регистрация: 23.01.2009
Сообщений: 1,582
20.04.2012, 20:05
Атрибут name='newmess' должен быть не у формы, а у кнопки.
1
Веб-мастер
 Аватар для Maksimchikfull
89 / 89 / 19
Регистрация: 11.08.2011
Сообщений: 674
20.04.2012, 20:10  [ТС]
Цитата Сообщение от ostgals Посмотреть сообщение
Атрибут name='newmess' должен быть не у формы, а у кнопки.
Я это давно понял. Но как бы нибыло, сейчас стоит у кнопки. И нажимая на кнопку, все отлично проходит. Нажимая ctrl+enter - происходит 0% эффекта, или же проще сказать "нефига".
0
 Аватар для ostgals
886 / 681 / 101
Регистрация: 23.01.2009
Сообщений: 1,582
20.04.2012, 20:29
А. Извините, я вас не допонял.
Есть такое понятие как "эффективные поля" - те, что при определенных условиях отправляются браузером. В случае отправки формы скриптом, действительно, <input type="submit" /> не является "эффективным".

В вашем случае стоит добавить внутрь формы (в любое место) скрытое поле:
HTML5
1
<input type="hidden" name="newmess" value="any_value" />
либо проверять наличие значения из любого текстового поля.

Добавлено через 9 минут
Пример: http://ostgals.lv/test.php

test.php:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
 
header('Content-Type: text/html; charset=windows-1251');
 
if(isset($_POST['newmess'])){
    echo '<pre>'.print_r($_POST, true).'</pre>';
    $theme = $_POST['theme'];
    $text = $_POST['text'];
    
    if($theme == ""){ $theme = "..."; }
    if($text == ""){ unset($text); $status .= "<p>Введите текст сообщения!</p>\n"; }
    
    if($status != ""){ echo $status; }
}
 
?>
<form action='' method='post' onKeyDown='if((event.ctrlKey) && (event.keyCode == 13)){ this.submit(); }'>
<p><input name='theme' type='text' size='20' maxlength='255' style='width: 99%;'></p>
<p><textarea name='text' cols='20' rows='14' style='width: 99%;'></textarea></p>
<p><input type='submit' value='Отправить'></p>
<input type="hidden" name="newmess" value="any_value" />
</form>
1
Веб-мастер
 Аватар для Maksimchikfull
89 / 89 / 19
Регистрация: 11.08.2011
Сообщений: 674
20.04.2012, 20:53  [ТС]
ostgals, Я также скрытое поле поставил. Спасибо большое! =)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.04.2012, 20:53
Помогаю со студенческими работами здесь

Как отправить данные в форму?
Всем доброго времени суток Допустим, кто-то идёт на страницу http://site.ru/pge.htm, но такой не существует. И выскакивает страница 404,...

Как отправить форму по таймеру?
Здравствуйте. Есть форма &lt;form method='post' action='test.php' id='form'&gt; ... &lt;button type='submit'...

Как отправить форму на почту?
Имеются две формы: Меню ресторана в виде CheckBox и Количество блюд в виде TextBox. Нужно чтобы, кликнув на кнопку...

Как отправить таблицей форму бронирования?
Всем привет! Имеется форма бронирования, которая работает без проблем. Но хотелось бы, чтобы форма отправлялась таблицей. Ума не...

Как отправить форму, не перезагружая страницу?
Собственно сабж. Раньше у меня получалось это сделать с помощью XHR. Теперь, как я понял, что-то где-то поменялось, и ничего у меня не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
Установка Emscripten SDK (emsdk) и CMake на Windows для сборки C и C++ приложений в WebAssembly (Wasm)
8Observer8 30.01.2026
Чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. Система контроля версиями Git. . .
Подключение Box2D v3 к SDL3 для Android: физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru