使Div成为警告框 [英] Making a Div an alert box
问题描述
嘿伙计们,如果可能的话,我只是对某事快速提问。
我有这个div:
< div id = 注册响应 > < / div >
根据用户输入的内容输出回复信息。
我的php方面:
$ existingSignup = mysql_query( SELECT * FROM newsletter_emails WHERE email ='$ email');
if(mysql_num_rows($ existingSignup)< 1){
$ insertSignup = mysql_query( INSERT INTO newsletter_emails(email,category)VALUES('$ email','9'));
if($ insertSignup){ // 如果插入成功
$ status = success;
$ message = 你成功了订阅跨度>!;
$ date = date( O / M / d跨度>);
$ insertYo = INSERT INTO活动(日期,动作,图标)VALUES('$ date','用户已订阅','fa-envelope-o');
mysql_query($ insertYo)或 die(' MySQL错误。');
}
我想在用户成功订阅后发送ALERT,但是我尝试了这段代码
echo ' < script> alert( 这是响应消息。);< / script>';
替换
$ message = 您已成功订阅!;
但它不起作用。我的javascript是:
// 检查表单当前是否正在提交
如果($( this )。data(' formstatus')!== ' 提交'){
// 设置变量
var form = $( this ),
formData = form.serialize(),
formUrl = form.attr(' action'),
formMethod = form.attr(' method' ),
responseMsg = $(' #signup-response');
// 将状态数据添加到表单
form.data(' formstatus',' 提交');
// 将数据发送到服务器进行验证
$。 ajax({
url:formUrl,
type:formMethod,
data:formData,
success:function(data){
// 设置变量
var responseData = jQuery .parseJSON(data),
klass = ' ';
// 响应条件
switch (responseData.status){
case ' 错误':
klass = ' alert alert-error';
break ;
case ' success' :
klass = ' alert alert-success';
break ;
}
// show reponse message
responseMsg.fadeOut( 200 ,function(){
$( this )。removeClass(< span class =code-string>' response-waiting')
.addClass(klass)
.text(responseData .message)
.fadeIn( 200 ,function(){
// 设置超时以隐藏响应消息
setTimeout(function(){
responseMsg.fadeOut( 200 ,function(){
$(此跨度>)removeClass(克拉斯)。
form.data(' formstatus', ' idle');
});
}, 3000 )
});
});
}
});
}
我的HTML表格:
< 表格 id = newsletter-signup action = ?action = signup method = 发布 >
< input 类型 = text size = 37 占位符 = 输入您的电子邮件 名称 = 注册电子邮件 id = 注册电子邮件 / >
< 输入 类型 = 提交 value = 提交 style = padding:8px; id = 注册按钮 / >
< div id = 注册响应 > < / div >
< / form >
Do你们碰巧知道我做错了什么?
一旦我这样做,警报框似乎确实触发:
var form = $( this ),
formData = form.serialize(),
formUrl = form.attr(' action '),
formMethod = form.attr(' method'),
responseMsg = $(' #signup-response')。text();
swal({
title: 成功,
text : 您已成功订阅!,
类型: success,
timer: 3000 ,
allowOutsideClick: true
});
但如果用户输入的内容不正确,它不会从php端传出响应。
existingSignup = mysql_query( SELECT * FROM newsletter_emails WHERE email ='
电子邮件'跨度>);
if(mysql_num_rows(
existingSignup)< 1){
Hey guys, just had a quick question about something, if it was possible.
I have this div:
<div id="signup-response"></div>
which outputs the message of responses depending on what the user enters.
my php side:
$existingSignup = mysql_query("SELECT * FROM newsletter_emails WHERE email='$email'");
if(mysql_num_rows($existingSignup) < 1){
$insertSignup = mysql_query("INSERT INTO newsletter_emails (email,category) VALUES ('$email', '9')");
if($insertSignup){ //if insert is successful
$status = "success";
$message = "You've successfully subscribed!";
$date = date("o/m/d");
$insertYo = "INSERT INTO activity ( date, action, icon) VALUES ('$date', 'user has subscribed', 'fa-envelope-o')";
mysql_query($insertYo) or die('MySQL Error.');
}
I want to send an ALERT once the user has successfully subscribed, however i tried this code
echo '<script>alert("this is the response msg.");</script>';
in replace of the
$message = "You've successfully subscribed!";
but it didn't work. My javascript is:
//check the form is not currently submitting
if($(this).data('formstatus') !== 'submitting'){
//setup variables
var form = $(this),
formData = form.serialize(),
formUrl = form.attr('action'),
formMethod = form.attr('method'),
responseMsg = $('#signup-response');
//add status data to form
form.data('formstatus','submitting');
//send data to server for validation
$.ajax({
url: formUrl,
type: formMethod,
data: formData,
success:function(data){
//setup variables
var responseData = jQuery.parseJSON(data),
klass = '';
//response conditional
switch(responseData.status){
case 'error':
klass = 'alert alert-error';
break;
case 'success':
klass = 'alert alert-success';
break;
}
//show reponse message
responseMsg.fadeOut(200,function(){
$(this).removeClass('response-waiting')
.addClass(klass)
.text(responseData.message)
.fadeIn(200,function(){
//set timeout to hide response message
setTimeout(function(){
responseMsg.fadeOut(200,function(){
$(this).removeClass(klass);
form.data('formstatus','idle');
});
},3000)
});
});
}
});
}
my HTML form:
<form id="newsletter-signup" action="?action=signup" method="post">
<input type="text" size="37" placeholder="Enter your email" name="signup-email" id="signup-email"/>
<input type="submit" value="SUBMIT" style="padding: 8px;" id="signup-button"/>
<div id="signup-response"></div>
</form>
Do you guys happen to know what it is i'm doing wrong?
The alert box does seem to trigger once i do this:
var form = $(this),
formData = form.serialize(),
formUrl = form.attr('action'),
formMethod = form.attr('method'),
responseMsg = $('#signup-response').text();
swal({
title: "Success",
text: "You've successfully subscribed!",
type: "success",
timer: 3000,
allowOutsideClick: "true"
});
but it doesn't pass out that response from the php side if the user entered something correctly or not.
existingSignup = mysql_query("SELECT * FROM newsletter_emails WHERE email='
email'"); if(mysql_num_rows(
existingSignup) < 1){
这篇关于使Div成为警告框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!