Отключить кнопку отправки, пока в скрытом поле не будет содержимого - PullRequest
0 голосов
/ 30 декабря 2010

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

   <input  type="hidden" name="lat" id="t1">
    <input type="hidden" name="long" id="t2"> 

Ответы [ 5 ]

2 голосов
/ 31 декабря 2010

Просто отключите его и включите там же, где вы устанавливаете скрытое значение.Я думаю, вы пытаетесь сделать это сложнее, чем есть.

1 голос
/ 31 декабря 2010
$('#yourForm').submit(function() {
    if ( !$('#t1')[0].value && !$('#t2')[0].value ) { return false; }
});
0 голосов
/ 31 декабря 2010

Я обычно делаю следующее:

С остальной частью моего JavaScript:

$.ajax({ //ajax options go here
    success: function(result) {
        //Do the rest of your success stuff here.

        $("#submit").removeAttr("disabled");
    }
});

Тогда в моей разметке HTML:

<button type="submit" name="submit" id="submit" disabled="true">Submit</button>
0 голосов
/ 31 декабря 2010

Попробуйте это:

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

$('#t1, #t2').change(function() {
    var enable = $('#t1').val() && $('#t2').val();
    $('input[type="submit"]').attr('disabled', enable ? null : 'disabled');
});

Просто убедитесь, что ваш Ajax-вызов вызывает событие изменения скрытых входов.

0 голосов
/ 31 декабря 2010

Первоначально установлено:

<input id="GO" type="submit" style="display: none" />

После вызова Ajax:

$('#GO').show();
...