我想在表单中添加一个参数并检查它是否有效,但我无法正确执行...
原件:
newsletterForm: {
selector: '#newsletter-form',
init: function() {
var base = this,
container = $(base.selector),
url = container.data('target');
container.submit(function() {
container.find('.result').load(url, {email: $('#email').val()},
function() {
$(this).fadeIn(200).delay(3000).fadeOut(200);
});
return false;
});
}
}
我能够在html中添加一个字段但是我无法在这里添加它,这是我尝试过的:
newsletterForm: {
selector: '#newsletter-form',
init: function() {
var base = this,
container = $(base.selector),
url = container.data('target');
container.submit(function() {
container.find('.result').load(url, {email: $('#email').val()}, {name: $('#name').val()},
function() {
$(this).fadeIn(200).delay(3000).fadeOut(200);
});
return false;
});
}
},
不确定如何继续这里,但我在php文件中有以下内容:
if (is_email($email){ // do something}
else{
echo '<div class="notification-box error">';
echo "Please enter a valid email address";
echo "</div>";
}
如果电子邮件无效,则显示在页面上,但是当我将其添加为名称
时if (is_string($name){ // do something}
else{
echo '<div class="notification-box error">';
echo "Please enter a name";
echo "</div>";
}
如果我在填写表单时没有输入名称,则不会在页面上显示此消息。
有人可以帮助我吗?
感谢。
编辑:
$name = strtolower($_POST['name']);
$email = strtolower($_POST['email']);
if(!is_string($name) || empty($name)){
echo '<div class="notification-box error">';
echo "Please enter name";
echo "</div>";
}
答案 0 :(得分:1)
这是您在现有.load()
container.find('.result').load(url, {
email: $('#email').val(),
name: $('#name').val()
},
你需要为我添加更多的PHP代码才能检查它,但是.load()
传递像你这样的对象时会使用POST
所以你应该看看在
$_POST['name']
表示您在该参数中传递的数据的值
编辑:
在进行任何其他操作之前,您应该先测试EMPTY。此外,无需将数据从$_POST
移动到标量变量。一旦PHP为你创建$POST
,它就是你的全部
if (!empty($_POST['email']) && is_email($_POST['email']){
// do something}
else{
echo '<div class="notification-box error">';
echo "Please enter a valid email address";
echo "</div>";
}
if(empty($_POST['name']) || !is_string($_POST['name']) ){
echo '<div class="notification-box error">';
echo "Please enter name";
echo "</div>";
}