Могу ли я использовать .submit как функцию? - PullRequest
1 голос
/ 14 июня 2011

Я хотел бы показать div при использовании клавиши ввода или отправки (кнопка /).Я попытался:

$("#inputfield").submit( function () {
$("#div").show();
});

Это не работает, и я не понимаю, почему.Я гуглил по этому поводу, но не нашел правильного решения.Помощь будет оценена.

Ответы [ 3 ]

3 голосов
/ 14 июня 2011

Поля ввода не отправляют события отправки. Вам нужно обернуть ввод в form и прикрепить к нему событие отправки. Тогда он будет работать так, как вы намереваетесь, если вы помните return false, чтобы предотвратить фактическую отправку формы.

2 голосов
/ 14 июня 2011

Я уверен, что все ваши поля input обернуты внутри тега form.Нажатие кнопки ввода или отправка формы с помощью кнопки отправки не вызывает событие submit на входе, который был в фокусе при нажатии клавиши ввода, или на кнопке отправки, а скорее на элементе form.Поэтому вам нужно проверить наличие события submit в элементе form.

Кроме того, показ Div в форме отправки не сильно поможет, так как действие по умолчанию - это перенаправление, поэтому вам нужно предотвратитьдействие по умолчанию, выполнив return false;.Если вы хотите остаться на той же странице и показать div, но в то же время все еще отправляете данные формы, вы можете сделать это через ajax, используя $.post

$("form").submit( function () {
    $("#div").show();
    $.post('some_url_to_submit_to.php',$(this).serialize(), function(data){
        //some action to take on success... but not necessary
    })
    return false; // to prevent the form from redirecting to a new page
});
1 голос
/ 14 июня 2011

В соответствии с документацией для .submit:

Событие отправки отправляется элементу, когда пользователь пытается отправить форму.

Итак, вы хотите включить в форму inputfield и связать функцию следующим образом:

$("#myForm").submit( ...
...