【发布时间】:2011-05-11 02:55:50
【问题描述】:
我有一个多部分表单,并且正在使用 jQuery 表单插件。
当用户完成表单的一部分并单击“继续”时,我想将该信息发送到服务器,然后在同一页面上提供提交信息的摘要。使用我当前的代码,除非在提交之前完成所有字段,否则我会收到错误消息。我的猜测是我的 PHP 完全错误,并且我在“数据:”之后输入的信息也不正确。
关于如何使其正常工作的任何建议?
PHP:
$return['message'] = array();
if ($_POST['markName1']) {
$return['message'][]='Text' . $_POST['markName1'];
}
if ($_POST['markDescription1']) {
$return['message'][]='More text' . $_POST['markDescription1'];
}
if ($_POST['YesNo1']) {
$return['message'][]='' . $_POST['YesNo1'];
}
echo json_encode($return);
jQuery:
$(form).ajaxSubmit({
type: "POST",
data: {
"markName1" : $('#markName1').val(),
"markDescription1" : $('#markDescription1').val()
},
dataType: 'json',
url: './includes/ajaxtest3.php',
//...
error: function() {alert("error!");},
success: $('#output2').html(data.message.join('<br />'))
//...
HTML:
<form id="mark-form">
<div class="markSelection">
<input type="checkbox" >
<label for="standardCharacter"></label>
<span class="markName-field field">
<label for="markName1" ></label>
<input type="text" name="markName1" id="markName1">
</span>
<label for="markDescription1"></label>
<textarea id="markDescription1" name="markDescription1"></textarea>
<ul class="YesNo">
<li>
<input type="radio" name="YesNo1" value="Yes">
<label for="Yes">Yes</label>
</li>
<li>
<input type="radio" name="YesNo1" value="No">
<label for="No">No</label>
</li>
</ul>
</div>
<div class="step-section">
<p>
<span class="next-step">
<button id="submit-second" class="submit" type="submit" name="next">Next</button>
</span>
</p>
</div>
</form>
【问题讨论】:
-
有 JQuery 的 api.jquery.com/jQuery.post 使用简写方法,现在有 .succes(fn)、.error(fn) 等...以及 doctype.tv/jquery15 的精彩播客
标签: php jquery ajax multipartform-data