我有一个隐藏字段,当用户执行特定的AJAX调用时会填充该字段。我想找到一种方法来禁用提交按钮,直到隐藏字段填充内容。
<input type="hidden" name="lat" id="t1">
<input type="hidden" name="long" id="t2">
答案 0 :(得分:2)
只需将其设置为禁用,并在您设置隐藏值的同一位置启用它。我认为你正试图让它变得更难。
答案 1 :(得分:1)
$('#yourForm').submit(function() {
if ( !$('#t1')[0].value && !$('#t2')[0].value ) { return false; }
});
答案 2 :(得分:0)
最初设置:
<input id="GO" type="submit" style="display: none" />
在你的ajax电话之后:
$('#GO').show();
答案 3 :(得分:0)
试试这个:
$('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调用触发隐藏输入的更改事件。
答案 4 :(得分:0)
我通常会做以下事情:
使用我的其余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>