双提交表格

时间:2015-07-01 00:33:09

标签: php jquery ajax

我可以双提交表格吗? 我有一种方式; <form action="action.php" method="POST"> 同时我在其中使用Ajax提交表单的其他“action.js”文件?

action.php 包含:

<?php
//CODE
?>

action.js 包含:

$(document).ready(function(){
    $("#submit").click(function(){
        var name = $("#name").val();
        var email = $("#email").val();
        var password = $("#password").val();
        var contact = $("#contact").val();
        // Returns successful data submission message when the entered information is stored in database.
        var dataString = 'name1='+ name + '&email1='+ email + '&password1='+ password + '&contact1='+ contact;
        if(name=='')
        {
            alert("");
        }
        else
        {
            // AJAX Code To Submit Form.
            $.ajax({
                type: "POST",
                url: "ajaxsubmit.php",
                data: dataString,
                cache: false,
                success: function(result){
                    alert(result);
                }
            });
        }
        return false;
    });
});

2 个答案:

答案 0 :(得分:0)

如果您的页面在提交时重定向到action.php,并在action.php文件中添加代码,该文件将在加载后或在其原始函数执行后记录用户活动。

如果您正在使用数据库,为什么不使用MySQL触发器功能进行日志记录,这样您就不需要运行任何脚本,但如果您的触发器设置正确,则所有脚本都会自动完成。

以下是MySQL Triggers

的一些示例的链接

答案 1 :(得分:0)

为什么不直接用ajax提交?

$(document).ready(function(){ function secondAjax(dataString){ $.ajax({ type: "POST", url: "action.php", data: dataString, cache: false, success: function(result){ //optionally redirect the user window.location('http://someurl.com') } }); } $("#submit").click(function(event){ event.preventDefault(); var name = $("#name").val(); var email = $("#email").val(); var password = $("#password").val(); var contact = $("#contact").val(); // Returns successful data submission message when the entered information is stored in database. var dataString = 'name1='+ name + '&email1='+ email + '&password1='+ password + '&contact1='+ contact; if(name=='') { alert(""); } else { // AJAX Code To Submit Form. $.ajax({ type: "POST", url: "ajaxsubmit.php", data: dataString, cache: false, success: function(result){ //send second ajax call secondAjax(dataString); // pass the dataString into the new function } }); } return false; }); }); 中删除“操作”,并使用JavaScript阻止表单提交,然后运行第一个ajax请求,然后运行第二个,然后在必要时,您可以使用JS重定向用户。 / p>

{{1}}