我想提交表单并加载基于AJAX和PHP中的表单提交数据。我想在不重新加载页面的情况下完成此操作。提交表单不刷新 - 实际上提交
HTML/PHP
<form method="POST">
<button type="submit" name="image1">
<button type="submit" name="image2">
<button type="submit" name="image3">
<button type="submit" name="image4">
</form>
<div>
// content gets loaded into here
</div>
jQuery的
$("form").submit(function(event) {
event.preventDefault();
$("div").load("content-load.php");
}
内容load.php
$validInputs = array('image1', 'image2', 'image3', 'image4');
foreach ($validInputs as $v) {
if(isset($_POST[$v])){
// load content associated with image1, or image2, etc, into Div
}
}
是的,“event.pr eventDefault()“是防止页面刷新的一个很好的解决方案。但它实际上并没有提交表单!我需要提交表单,因为我加载到Div的内容取决于“$ _POST [$ v]”的设置。根据用户是否点击第一个,第二个,第三个或第四个提交按钮,content-load.php将遍历$ validInputs并确定按下哪个按钮。根据点击哪个按钮,特定内容将被加载。
如果我使用ajax并防止默认,上述将永远不会运行,因为表单被阻止提交。 PHP需要遍历数组并确定哪个按钮被按下 - 但没有按钮被按下,因为event.preventDefault!我如何让PHP检测哪个按钮被“设置”而不使用页面刷新?
为了提交你需要使用jQuery的'阿贾克斯()'或'。员额()'函数的形式。 '.load()'是AJAX的一个弱版本,主要用作向服务器返回一些信息的请求。 [这里有一些基本知识。](http://jayblanchard.net/basics_of_jquery_ajax.html)另外,你可能想看看HTML中的一些基本表单设置。多次提交,就像你一样,并不是特别有效。 –