Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.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
Image 将表单提交到div中_Image_Html - Fatal编程技术网

Image 将表单提交到div中

Image 将表单提交到div中,image,html,Image,Html,有人能告诉我为什么这不起作用,或者给我另一种方式去做我想做的事吗 当我点击submit时,我在页面上有一个表单,我希望它被处理到add.php中,并在一个名为right的DIV中打开 表格页 <script> $("#Submit").click(function() { var url = "add.php"; // the script where you handle the form input. $.ajax({ type: "POST",

有人能告诉我为什么这不起作用,或者给我另一种方式去做我想做的事吗

当我点击submit时,我在页面上有一个表单,我希望它被处理到add.php中,并在一个名为right的DIV中打开

表格页

<script>
$("#Submit").click(function() {

var url = "add.php"; // the script where you handle the form input.

$.ajax({
       type: "POST",
       url: url,
       data: $("#myForm").serialize(), // serializes the form's elements.
       success: function(html){ $("#right").html(html); }
     });

return false; // avoid to execute the actual submit of the form.
});
</script>
</head>
<body>
<form action="add.php" method="post" enctype="multipart/form-data" id ="myForm">
 Name: <input type="text" name="name"><br> 
 E-mail: <input type="text" name = "email"><br> 
 Phone: <input type="text" name = "phone"><br> 
Photo: <input type="file" name="photo"><br>
<input type="submit" value="Upload">

</form>

</body>

$(“#提交”)。单击(函数(){
var url=“add.php”;//处理表单输入的脚本。
$.ajax({
类型:“POST”,
url:url,
数据:$(“#myForm”).serialize(),//序列化表单的元素。
成功:函数(html){$(“#right”).html(html);}
});
return false;//避免执行表单的实际提交。
});
名称:
电子邮件:
电话:
照片:

现在,如果我将动作添加到表单中,将其定向到add.php,那么其他脚本都可以正常工作。但是,当我这样做时,没有发生任何事情。它不会像我希望的那样将add.php加载到“right”div中

有人有任何建议吗?

您的$(“#提交”)选择器与任何内容都不匹配(提交按钮没有id,并且是在绑定尝试之后定义的),因此该函数未绑定到任何事件,因此从未执行过

相反,表单的行为方式应该是:提交后将其内容发布到“action”属性中指定的url。事情就是这样,那个div永远不会被碰


您必须回去了解jquery选择器是如何工作的。如何将函数绑定到事件

这是您的准确代码吗?有几个问题:

  • $(“#提交”)。单击
    应包装在准备好的文档中 处理程序,使其在页面实际加载之前不会运行
  • 没有与#提交匹配的按钮
  • 没有匹配的div,对吗
试一试


jQuery(文档).ready(函数($){
$(“#提交”)。单击(函数(){
var url=“add.php”;//处理表单输入的脚本。
$.ajax({
类型:“POST”,
url:url,
数据:$(“#myForm”).serialize(),//序列化表单的元素。
成功:函数(html){$(“#right”).html(html);}
});
return false;//避免执行表单的实际提交。
});
});
名称:
电子邮件:
电话:
照片:

您必须在div-in-body标签上创建正确的id,并且

<input id="submit" type="submit" name="upload" >

在body标记中添加新的div,如下所示

<div id="right"></div>


响应代码是什么?您可以使用Firebug在控制台上调试并查看ajax请求的响应代码。是的,很抱歉,我正在测试表单上的操作,我希望它在表单中不包含动作,因此它加载到div中,而不是实际的url中,显然脚本起到了神奇的作用。如果我正确理解了该注释,您会声称表单声明中的动作属性只是为了调试目的。如果是这样,请编辑您的问题并将其删除。第二:即使没有美元(“#提交”)也不匹配。js函数永远不会执行。您可能想尝试在浏览器中使用js调试器,并检查它是否正常工作。谢谢,我现在遇到的唯一问题是,当它处理add.php时,它会将除图像url以外的所有内容都放入数据库中,不会像以前那样将图像上传到服务器,如果我通过url运行图像就会这样做。看到答案了吗?看不懂,我对这一切都很陌生,如前所述,当在add.php中处理时,所有从表单写入数据库的操作都是在add.php中进行的,只有图像没有插入或上传到服务器,add.php是所有php编码。基本上,AJAX上传将对除实际文件外的所有表单数据进行subit。如果您是新手,那么我会选择iframe方法进行文件上传,因为AJAX方法非常新,可能会让您感到困惑。在实际代码之外单独尝试以下教程。如果有人能很好地将其添加到上面的脚本中,那就太好了。这不像是一个完整的脚本编写,这就是这个网站的目的?帮助某人做他们不能做或不能理解的事情。
<div id="right"></div>