我在名为form的控制器中有一个php函数,我想根据情况显示一些消息。
我在if else块内回显该消息。但是,不是存储在msg参数中并以AJAX成功函数中给出的格式显示,而是在新页面中显示回显的消息。
<script type="text/javascript">
$("#sign_up").click(function() {
var form_data = {
firstName: $('#firstName').val(),
secondName: $('#secondName').val(),
email: $('#email').val(),
password: $('#password').val()
};
$.ajax({
url: "<?php echo site_url('form/submit'); ?>",
type: 'POST',
data: form_data,
success: function(msg) {
if (msg == 'YES') {
$('#alert-msg').html('<div class="alert alert-success text-center">Your mail has been sent successfully!</div>'); }
else if (msg == 'NO') {
$('#alert-msg').html('<div class="alert alert-danger text-center">Error in sending your message! Please try again later.</div>'); }
else {
$('#alert-msg').html('<div class="alert alert-danger">' + msg + '</div>'); }
}
});
return false;
});
</script>
感谢所有尝试提供帮助的人!
最佳答案
尝试使用这种方式。
<script type="text/javascript">
$("#sign_up_form").submit(function() {
var form_data = {
firstName: $('#firstName').val(),
secondName: $('#lastName').val(),
email: $('#email').val(),
password: $('#password').val()
};
$.ajax({
url: "<?php echo site_url('form/submit'); ?>",
type: 'POST',
data: form_data,
success: function(msg) {
if (msg == 'YES') {
$('#alert-msg').html('<div class="alert alert-success text-center">Your mail has been sent successfully!</div>'); }
else if (msg == 'NO') {
$('#alert-msg').html('<div class="alert alert-danger text-center">Error in sending your message! Please try again later.</div>'); }
else {
$('#alert-msg').html('<div class="alert alert-danger">' + msg + '</div>'); }
}
});
return false;
});
</script>
在这里,我不建议使用单击事件,而建议使用Submit事件,并且
secondName: $('#secondName').val(),
中存在错误,请将其更改为secondName: $('#lastName').val(),
。您的表格将是
<div id="alert-msg"></div>
<?php
echo form_open("form/submit", array("id"=>"sign_up_form"));
?>
<div class="input-group">
<input type="text" class="form-control" name="firstName" placeholder="First Name" id="firstName">
<input type="text" class="form-control" name="lastName" placeholder="Last Name" id="lastName">
</div>
<input type="email" class="form-control" name="email" placeholder="Email" id="email">
<input type="password" class="form-control" name="password" placeholder="Password" id="password">
<div style="text-align:center;margin-top:20px">
<button type="submit" class="btn btn-primary" id="sign_up">Sign Up</button>
</div>