Проблема с отключением кнопок отправки в форме отправки - PullRequest
3 голосов
/ 19 марта 2009

Привет

Я использую jquery отключить при отправке плагин, но у меня есть проблема. Если я отключаю кнопки отправки, они не передаются обратно на сервер, поэтому я не могу сказать, какая кнопка была нажата. Это нормально? Что я могу с этим поделать?

Я действительно не хочу переоборудовать свой веб-сайт, поэтому мне нужно установить переменную при отправке формы, чтобы указать, какая кнопка была нажата.

Есть идеи?

Ответы [ 4 ]

3 голосов
/ 19 марта 2009

Как отключить кнопку отправки веб-формы

Этот метод скрывает кнопку вместо ее отключения и программным способом вставляет отключенный тег

0 голосов
/ 13 апреля 2010

Будь проще:)

var formid="#id-form-if-exists"; //Put here the id if exists
$("form"+formid).submit(function(){$("form"+formid+" input").attr("disabled",false);});

YEAH

0 голосов
/ 14 мая 2009

Вот решение, которое я только что нашел в форуме jQuery :

<script type="text/javascript">
    $(document).ready(function() {
        $("#sendSearch").click(function() {
            $('#loadingDiv').show();
            $('#sendSearch').attr("disabled", "disabled");

            // these two lines are the workaround
            this.form.submit();
            return true;
        });
    });
</script>
0 голосов
/ 19 марта 2009

Вы можете сделать отправку через jquery и впоследствии отключить кнопку:

<input type="submit" value="do it!" onclick="$('#mainform').submit(); $(this).attr('disabled','disabled' ); $('#pleasewait').show();" />

EDIT: Я забыл, что form.submit () не является асинхронным. Вместо этого вы можете сделать запрос ajax:

$.ajax({
url: "someurl",
type:"POST",
cache: false,
dataType: "json",
success:gotIt,
async:true,
timeout:240000,
error:ajaxError,
data:$("#mainform").serialize()
}); 

или вы можете просто .hide () нажать кнопку, или после нажатия на нее установить неработающий обработчик onClick () и придать ему стиль, чтобы он выглядел отключенным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...