我的页面上有两个表单。
一个在页脚中,是一个联系页面,但另一个是我的主要形式,称为“产品形式”。我在PHP中做了一些验证:
foreach( $_POST as $field => $val ) {
if ($val == '') {
echo $field . "- no val <br>";
}
}
问题在于我看到的是以页脚形式验证的字段......
这是我的AJAX:
$('body').on('submit', '.product-form', function(e){
e.preventDefault();
var thisForm = $(this);
$.ajax({
url : '/wp-content/themes/theme/page-templates/template-parts/template-logic/send-form.php',
type : 'POST',
data : thisForm.serialize(),
before : $(".error-message").remove(),
success : function(data) {
}
});
});
这是如何从两种表单提交数据的?
两种形式的标签都已正确关闭,同时也有不同的类别。
必须在这个项目中使用WordPress,通常在家里使用Laravel验证更多,所以这有点像回归!
请求的表单HTML:
我想要的表格:
<form method="post" class="product-form">
<li class="object field">
<label for="full name">Your full name <span>*</span></label>
<input class="req" autocomplete="off" type="text" name="full name" id="full name" placeholder="e.g. John Doe">
</li>
</form>
页脚形式:
<form class="footer-form small">
<li>
<button class="object button large" type="submit">Get in touch</button>
</li>
</form>
答案 0 :(得分:-1)
请改变它:
$( ".product-form" ).submit(function( e) {
e.preventDefault();
var thisForm = $(this);
$.ajax({
url : '/wp-content/themes/theme/page-templates/template-parts/template-logic/send-form.php',
type : 'POST',
data : thisForm.serialize(),
before : $(".error-message").remove(),
success : function(data) {
}
});
});