如果目标表单有错误,请部分更新当前表单,否则提交目标表单

时间:2017-05-25 03:10:45

标签: javascript php jquery html forms

我对以下脚本有这个想法:

脚本应该做的是,当通过单击提交按钮提交form id="try"时,它不会立即提交,而是检查要提交表单的页面上是否存在错误。

如果出现错误,我可以通过部分更新div id =“content”来显示错误消息,“抱歉,由于意外问题,您的用户操作目前无法执行”。

如果没有错误(找到页面“try1.php”并且没有运行时错误),我们提交表单并转到“try1.php”,而不是“try1.php”的内容“将被发送到div id="content"

HTML:

<div id="content">
  THIS IS THE DIV: "content"
</div><br>
<form id="try" action= "try1.php" method="post">
  <input type="submit" value="Try">
</form>

jQuery的:

$(document).ready(function()   
{
  $("#try").submit(function(e)
  {
    e.preventDefault(); 
    // get the action
    var action = $(this).attr("action");


    $("#content").load(action, function() 
    {
       //if the action is loaded to the <div id="content"> without any errors:
         document.getElementById("try").submit();

       //else if the target page has an error:
         $("#content").html("Sorry, your user action is currently not possible due to an unexpected issue"); 
    });          
  })
});

我是jQuery的新手,你对如何做if else语句有什么建议吗? jQuery是正确使用的还是其他解决方案?

提前致谢。

1 个答案:

答案 0 :(得分:0)

将表单提交按钮更改为常规按钮会有所帮助,因为将此按钮调用为函数可以解决问题,例如:

<form id="try" action= "try1.php" method="post">
    <input type="button" value="Try" id="submitButton"/>
</form>

然后在JavaScript部分:

$(document).ready(function()
{
    $("#submitButton").click(function(e)
    {
        e.preventDefault(); 
        // get the action
        var action = $("#try").attr("action");


        $("#content").load(action, function() 
        {
            //if the action is loaded to the <div id="content"> without any errors:
             document.getElementById("try").submit();

            //else if the target page has an error:
            $("#content").html("Sorry, your user action is currently not possible due to an unexpected issue"); 
        });          
    })
});

希望它能解决问题。如需更多说明,请发表评论。