我想从按钮提交表单。
HTML
<form id="form-search" action="index.php" method="post">
<select id="s1" name="s1" size="1">
<option value=""></option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>
<input type="submit" name="submit" value="SUBMIT" id="btn_src" />
<input type="button" value="RESET" id="btn_reset" />
</form>
我试过这种方式,但它不起作用
$('#btn_reset' ).click(function(e)
{
e.preventDefault();
$('#form-search').submit();
});
所以我尝试了这种方式(触发点击)并且它工作正常,但我注意到如果我的按钮被禁用,我必须在执行表单之前单击2次。 我之前也尝试重新启用按钮,但没有成功。
$('select#s1').change(function()
{
var s1 = $('select#s1 option:selected').prop('value');
if(s1 == 4)
{
$('#btn_src').prop('disabled', true);
}
});
$('#btn_reset' ).click(function(e)
{
e.preventDefault();
//$('#form-search').submit(); <-- not work
$('#btn_src').prop('disabled', false);
$('#btn_src').trigger('click');
});
我该如何解决?那为什么会这样呢?感谢
更新 - 已解决!
重新启用提交按钮后添加超时我解决了问题。
setTimeout(function() { $('#btn_src').trigger('click'); }, 10);
答案 0 :(得分:0)
<button id="btn_reset">RESET</button>
希望应该这样做......
Apols ...错误的剪切和粘贴上次...好吧试试这个...
$('select#s1').change(function()
{
var s1 = $('select#s1 option:selected').prop('value');
if(s1 === "4")
{
$('#btn_src').prop('disabled', true);
} else {
$('#btn_src').prop('disabled', false);
}
});
$('#btn_reset' ).click(function(e)
{
e.preventDefault();
$('#form-search').submit(); // not work
$('#btn_src').prop('disabled', false);
$('#btn_src').trigger('click');
});