2

当 2 个单独的字段更改其值(“onHide”)时,我需要单击提交按钮。该代码与 2 个酒店预订日历相关。也许解决方案比我认为的更简单,但我真的是 jquery 的新手。基本脚本:

$("#checkIn").bind("onHide", function()  { 
    checkIn = $("#checkIn").val();

    $.post('file.php', {"checkIn": checkIn}, function() {
        // do something more
    });
});


$("#checkOut").bind("onHide", function()  {  
    checkOut = $("#checkOut").val();

    $.post('file.php', {"checkOut": checkOut}, function() {
        // do something more
    });     
});

...因此,下一步将是(当两个字段都更改值时):

$("#submitButton").trigger('click'); 

该功能(onHide)工作正常。顺便说一句:checkOut 取决于 checkIn,但并不重要。我只需要知道如何将点击发送到 submitButton。请给点建议好吗?先感谢您。

4

2 回答 2

3

您最好直接提交表单,而不是尝试模拟单击按钮:

document.forms[0].submit();//this will submit the first form found on the page

或使用JQuery 的提交(感谢@akalucas):

$("#form").sumbit();

如果您需要在提交上做额外的工作,我建议将一个函数绑定到提交按钮的单击事件,然后在字段更改时调用该函数:

$("#submitButton").click(SubmitForm);

function SubmitForm(){
   //something else I might need to do like validation
   document.forms[0].submit();
}

function AnyOtherFuntion(){
   SubmitForm();
}

编辑:根据你可能想要这样的新信息:

var checkInValue = "";
var checkOutValue = "";

$(document).onload(function(){
   checkInValue = $("#checkIn").val();
   checkOutValue = $("#checkOut").val();

   $("#checkIn").change(OnChange);
   $("#checkOut").change(OnChange);
});

function OnChange(){
   if(checkInValue != $("#checkIn").val() && checkOutValue != $("#checkOut").val()){
      SubmitForm();
   }
}

function SubmitForm(){
   document.forms[0].submit();
}
于 2012-06-12T09:59:29.583 回答
0

您可以在不单击提交的情况下提交表单,更好地去做

  document.form_name.submit();
于 2012-06-12T10:04:02.903 回答