2013-07-08 2 views
2

У меня есть форма, которая имеет форму проверки JQuery .. что мне нужно, это кнопка должна получить отключается, когда я отправить форму после того, как проверка выполняется представить ..Отключить кнопку отправки по щелчку после проверки формы

<form action="#" method="post" id="myform" name="myform"> 
    Location: <input name="location" type="text" /> 
    Site: <input name="site" type="text" /> 
    Age: <input name="age" type="text" /> 
    Gender <input name="gender" type="text" /> 
    <input name="button" type="submit" class="myButton" id="button" value="Submit" /> 
</form> 

здесь моя форма JsFiddle

+1

при отправке формировать перезагрузку страницы ... так что мне интересно, почему вам нужно отключить кнопку .... anyways либо использовать ajax для отправки формы или сохранить флаг кнопки в cookie или db и проверить, что – bipen

+0

Я еще не пробовал, потому что я не очень хорош в javascript .. Извините – Oliveshades

+0

Данные этой формы хранятся в базе данных, занимающей 2-3 секунды, тем временем пользователь снова нажимает кнопку отправки и получить .. из-за этого я получаю дубликаты записей. – Oliveshades

ответ

4

Не знаю, почему вы хотите, чтобы отключить кнопку отправки, но с помощью JQuery можно сделать

$('input[type="submit"]').prop('disabled',true); 

Обычно вы либо не имели бы в качестве ubmit, или отправить форму, и страница перезагрузится!

UPDATE

Чтобы остановить людей от перепроведении значения обновив страницу, как вы писали в комментариях, перенаправить пользователя на страницу без значений вывешенные!

header('/same_page.php'); 
+0

- это то, что 'prop (" disabled ", true)'? – rab

+0

@rab да, это лучший способ, отредактирован! –

+0

@ В Боге, я доверяю, спасибо – Oliveshades

1

Вы хотите сделать действие по форме. Не уверен, что вам нужно добавить form.valid() там как проверку, но я всегда делаю это так. Впоследствии вы можете вернуть true или false.

  • True: браузер переходит к ссылке и действия, указанного в форме
  • Ложные: Браузер останавливается (если у вас есть ошибки проверки)

Вот код:

$('#myform').submit(function() { 
    if (!$('#myform').valid()) return false; 

    $('#myform input[type=submit]').attr("disabled", "disabled"); 
    return true; 
}); 

Я также обновил вашу скрипку с помощью этого кода, поэтому вы можете попробовать его

0

Если вы хотите отключить, как только форма, которую вы хотите проверить действителен, то вы можете отключить кнопку отправки, как этот

$("#myForm").validate({ 
    submitHandler: function(form) { 
    // do other stuff for a valid form 
    $('#myform input[type=submit]').attr("disabled", "disabled"); 
    form.submit(); 
    } 
}); 
1

после проверки формы, использование:

$("#button").click(function(event) { 
     if($('#myform').valid()) { 
      $(event.target).attr("disabled", "disabled"); 
     } 
    }); 
Смежные вопросы