Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何通过javascript发送表单数据?_Php_Javascript - Fatal编程技术网

Php 如何通过javascript发送表单数据?

Php 如何通过javascript发送表单数据?,php,javascript,Php,Javascript,HTML代码- <form> .... <a class="art-button" href="edit.php" >Edit</a> <a class="art-button" href="#" onclick="show_confirm()">Delete</a> </form> .... JavaScript- <script type="text/javascript"> function show

HTML代码-

<form>
....
<a class="art-button" href="edit.php" >Edit</a>
<a class="art-button" href="#" onclick="show_confirm()">Delete</a>
</form>

....
JavaScript-

<script type="text/javascript">
function show_confirm()
{
    var r=confirm("Do you want to delete?");
    if (r==true)
      {
      // call "delete.php?id=value"
      }
    else
      {
      //go back to same page
      }
}

函数show_confirm()
{
var r=确认(“是否要删除?”);
如果(r==true)
{
//调用“delete.php?id=value”
}
其他的
{
//返回同一页
}
}

如何从javascript`

中调用delete.php?id=value

(document.forms['formname'] || document.formname).submit();
给出和id=“formId”(

要使其正常工作,表单需要提交到的url

<form id="myform" method="POST" action="delete.php?id=value">
如果您想将其提交到不同的页面。

请按照HS的建议使用
.submit()

或者,如果您想在用户已关闭JavaScript的情况下(不一定是这种情况-您的决定)也能做到这一点,请使用两个链接提交按钮:

<button type="submit" value="Delete">
并根据确认()的结果使函数返回
false
true


不确定您想做什么,但代码应该是:

<a class="art-button" href="delete.php?id=value" onclick="return confirm('Are you sure you want to delete this?')">Delete</a>

无需提交表格

if (r==true) {    
     $.ajax({
        type: "POST",
        url: "delete.php",
        cache : false,
        data: $("#id_of_form").serialize(), // here will be the values from form
         success: function(msg){
         }
     });
在delete.php中,您将通过jQuery接收$\u POST数组中的值:

<form id="randomForm">
    ....
    <a class="art-button" href="edit.php" >Edit</a>
    <a class="art-button" id="deleteLink" href="#" onclick="show_confirm()">Delete</a>
</form>

<script type="text/javascript">
    $("#deleteLink").click(function(){
        $("randomForm").submit()
    });
</script>

....
$(“#删除链接”)。单击(函数(){
$(“随机表格”).submit()
});

请注意我添加的额外ID标记

window.location.href=“delete.php?ID=“+value

为什么只有带有anhor标记的表单标记?更新了我的答案,以回应您的评论,不分离内容和逻辑是20世纪90年代的事(您不应该使用JavaScript作为HTML属性)。但是当用户单击
编辑
时??因为两个表单动作都不同,我可以在javascript中设置表单动作吗?但是当用户点击
edit
then??因为两个表单动作都不同,我可以在javascript中设置表单动作吗?但是当用户点击
edit
then??因为两个表单动作都不同,我可以在javascript中设置表单动作吗?@amanda“Edit”不是表单动作,是吗?这只是一个链接,不是吗?
 var r=confirm("Do you want to delete?");
 return r;
<a class="art-button" href="delete.php?id=value" onclick="return confirm('Are you sure you want to delete this?')">Delete</a>
if (r==true) {    
     $.ajax({
        type: "POST",
        url: "delete.php",
        cache : false,
        data: $("#id_of_form").serialize(), // here will be the values from form
         success: function(msg){
         }
     });
<form id="randomForm">
    ....
    <a class="art-button" href="edit.php" >Edit</a>
    <a class="art-button" id="deleteLink" href="#" onclick="show_confirm()">Delete</a>
</form>

<script type="text/javascript">
    $("#deleteLink").click(function(){
        $("randomForm").submit()
    });
</script>