我对sweetalert
有问题。我在确认表单中使用sweetalert
。但是会弹出sweetalert
,显示在用户提交表单之后,然后在用户单击“确定”之前在sweetalert
中弹出。页面自动重定向到下一页。
我想在用户单击“确定”后重定向到下一页,或者我想在我的sweetalert
中添加代码controller
。因为流程在controller
中提交表单。
我正在使用Codeigniter
框架bootstrap
。
这是我的代码:
查看页面。
<?php echo form_open_multipart('substrans');?>
<html lang="en">
<div class="container">
<div class="row">
<div class="col-md-12">
<div id="notifications"></div>
<div class="form-group" id="loading">
<label for="name" class="col-sm-3 control-label">Name:</label>
<div class="col-sm-12">
<input type="text" class="form-control" id="iname" name="iname" required >
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-3" for="email">E-Mail:</label>
<div class="col-sm-12">
<input type="email" class="form-control" id="imail" name="imail" required>
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-3" for="code">Code</label>
<div class="col-sm-12">
<input type="text" class="form-control" id="icode" name="icode" required>
</div>
</div>
<div class="col-lg-12">
<center>
<button type="submit" class="btn btn-primary" name="submit" onclick="proccess()">Submit</button>
</center>
<br>
</div>
<br>
<div class="col-md-3">
</div>
</div>
</div>
</div>
<!-- Bootstrap core JavaScript -->
<script type="text/javascript">
function proccess()
{
var inName = document.getElementById('iname').value;
var inmail = document.getElementById('imail').value;
var inCode = document.getElementById('icode').value;
if(inName !='' && inmail !='' && inCode !='') {
swal("Thanks!", "Success submit.", "success");
}
else {
swal("Oops!", "Sorry you failed submit!", "error");
}
}
</script>
<script>
$('#notifications').slideDown('slow').delay(3000).slideUp('slow');
</script>
<script src="assets/sweetalert/sweetalert.css"></script>
<script src="assets/sweetalert/sweetalert.min.js"></script>
</body>
</html>
控制器。
public function substrans(){
$iname = $_POST['iname'];
$imail = $_POST['imail'];
$icode = $_POST['icode'];
if( $iname !='' && $imail !='' && $icode !=''){
$this->load->library('email');
$config['protocol'] = 'smtp';
$config['smtp_host'] = '127.0.0.1';
$config['smtp_port'] = 'xx';
$config['charset'] = 'iso-xxxx-1';
$config['mailtype'] = 'html';
$config['wordwrap'] = TRUE;
$this->email->initialize($config);
$mail_message = "
Name: $iname <br/>
Email: $imail <br/>
Code: $icode <br/>
";
$this->email->from('xx@xx.xx', 'xxxxxxx');
$this->email->to('xx@xx.xx');
$this->email->attach($attched_file);
$this->email->subject('Confirm');
$this->email->message($mail_message);
$this->email->send();
echo "<script>window.history.go(-2);</script>";
}
else {
echo "<script>
window.history.go(-1);</script>";
}
}
最佳答案
问题是“提交”事件的默认行为。
我认为您应该更改“流程”功能并使用js preventDefault:
function proccess(event){
event.preventDefault()
.... rest of code
}
关于javascript - 单击确定后如何进行SweetAlert自动重定向? (Codeigniter),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57800075/