如何在页面加载时使用ajax提交隐藏表单?

时间:2015-04-01 03:20:27

标签: javascript php jquery ajax forms

如何在页面加载时使用ajax向php提交隐藏表单?

我有一个带有一个隐藏值的表单,我想提交该表单而不刷新页面或来自服务器的任何响应消息。如何在ajax中实现这个?这是我的表格。我在同一页面上还有另一种表格。

<form id = "ID_form" action = "validate.php" method = "post">
 <input type = "hidden" name = "task_id" id = "task_id" value = <?php echo $_GET['task_id'];?>>
</form>

5 个答案:

答案 0 :(得分:3)

类似于Zafar使用jQuery的答案

实际上是jquery网站https://api.jquery.com/jquery.post/

上的一个例子
$(document).ready(function() {
    $.post("validate.php", $("#ID_form").serialize());
});
如果你想对你说你不想要的回复做任何事情,你可以.done(),. fail()和.always()。

纯pavascript中的

body.onload = function() {
    var xmlhttp = new XMLHttpRequest();
    xmlhttp.open("POST","validate.php",true);
    xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
    xmlhttp.send("task_id=" + document.getElementById("task_id").value);
};

答案 1 :(得分:1)

I think you have doubts invoking ajax submit at page load. Try doing this -

<script type="text/javascript">
$(document).ready(function(){
    $.ajax({
        "url": "validate.php",
        "type": "post"
        "data": {"task_id": $("#task_id").val();},
        "success": function(){
        // do some action here
        }
    })
})
</script>

答案 2 :(得分:1)

如果你正在使用jQuery,你应该能够获得表单,然后在其上调用submit()

E.g:

var $idForm = $('#ID_form');
$idForm.submit();

答案 3 :(得分:1)

简单的解决方案 - jQuery AJAX发布了其他人建议的值,但直接嵌入了PHP值。如果您有多个表单,则可以根据需要添加更多键:值对。如果需要,添加成功/错误处理程序。

<script type="text/javascript">
$(document).ready(function(){
    $.post( "validate.php", { task_id: "<?=$_GET['task_id']?>" } );
})
</script>

答案 4 :(得分:1)

正如其他人所说,如果你想在后台发送数据,则不需要表格。

<强> validate.php

<?php

$task_id = $_POST['task_id'];

//perform tasks//

$send = ['received:' => $task_id]; //json format//
echo json_encode($send);

<强>的JQuery / AJAX:

$(function() { //execute code when DOM is ready (page load)//
    var $task = $("#task_id").val(); //store hidden value//
    $.ajax({
        url: "validate.php", //location to send data//
        type: "post",
        data: {task_id: $task},
        dataType: "json", //specify json format//
        success: function(data){
            console.log(data.received); //use data received from PHP//
        }
    });
});

<强> HTML:

<input type="hidden" name="task_id" id="task_id" value=<?= $_GET['task_id'] ?>>