Javascript 如何在单击“确定”后自动重定向?(编码点火器)

Javascript 如何在单击“确定”后自动重定向?(编码点火器),javascript,php,codeigniter,sweetalert,Javascript,Php,Codeigniter,Sweetalert,我对sweetalert有问题。我在确认表中使用了sweetalert。但是在用户提交表单之后显示的sweetalert,然后在sweetalert中在用户点击OK之前弹出。页面将自动重定向到下一页 我想在用户单击“确定”后重定向到下一页,或者我想在我的控制器中添加代码sweetalert。因为进程在控制器中提交表单 我正在使用一个框架Codeigniter和bootstrap 这是我的代码: 查看页面 <?php echo form_open_multipart('substrans')

我对
sweetalert
有问题。我在确认表中使用了
sweetalert
。但是在用户提交表单之后显示的
sweetalert
,然后在
sweetalert
中在用户点击OK之前弹出。页面将自动重定向到下一页

我想在用户单击“确定”后重定向到下一页,或者我想在我的
控制器中添加代码
sweetalert
。因为进程在
控制器中提交表单

我正在使用一个框架
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>

姓名:
电邮:
代码
提交


函数过程() { var inName=document.getElementById('iname').value; var inmail=document.getElementById('imail').value; var inCode=document.getElementById('icode')。值; 如果(inName!=''&&inmail!=''&&inCode!=''){ swal(“谢谢!”、“成功提交”、“成功”); } 否则{ swal(“Oops!”,“很抱歉您提交失败!”,“error”); } } $(“#通知”).slideDown('slow').delay(3000).slideUp('slow');
控制器

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>";
        }

    }
public function subtrans(){
$iname=$_POST['iname'];
$imail=$_POST['imail'];
$icode=$_POST['icode'];
如果($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=”
名称:$iname
电子邮件:$imail
代码:$icode
"; $this->email->from($this)xx@xx.xx","xxxxxxx",; $this->email->to($this)xx@xx.xx'); $this->email->attach($attched_文件); $this->email->subject('Confirm'); $this->email->message($mail\u message); $this->email->send(); echo“window.history.go(-2);”; } 否则{ 回声“ window.history.go(-1);“; } }
问题在于“提交”事件的默认行为。 我认为您应该更改“进程”函数,并使用默认值:

function proccess(event){
  event.preventDefault() 
 .... rest of code
}

问题在于“提交”事件的默认行为。 我认为您应该更改“进程”函数,并使用默认值:

function proccess(event){
  event.preventDefault() 
 .... rest of code
}
将您的“历史记录”呼叫移动到sweetalert回调中。例如:

 swal({
        title: "Thanks!", 
        text: "Success submit.", 
        type: "success"
        },
       function(){
       window.history.go(-2);
 });
将您的“历史记录”呼叫移动到sweetalert回调中。例如:

 swal({
        title: "Thanks!", 
        text: "Success submit.", 
        type: "success"
        },
       function(){
       window.history.go(-2);
 });

您正在提交表单,这将提示浏览器重新加载页面并将表单值发布到服务器。如果您想等待sweet alert确认,您需要取消初始提交(链接dupe中会回答您如何执行),然后在确认后通过js提交。我知道,但是如果sweet alert确认向服务器显示after值。在哪里添加sweetalert?在控制器中?但是,当我尝试在php echo中的controller中添加代码sweetalert时,sweetalert没有显示。请帮助,我直到现在才获得成功的代码您正在提交表单,这将提示浏览器重新加载页面并将表单值发布到服务器。如果您想等待sweet alert确认,您需要取消初始提交(链接dupe中会回答您如何执行),然后在确认后通过js提交。我知道,但是如果sweet alert确认向服务器显示after值。在哪里添加sweetalert?在控制器中?但是当我尝试在php echo中的控制器中添加代码sweetalert时,sweetalert没有出现。请帮助,我直到现在才获得成功的代码。在您的视图中明确地说,我在我的任务中使用脚本sweetalert,当我使用此脚本时。sweetalert没有在您的视图中明确显示我正在使用脚本sweetalert在我的任务中,当我使用此脚本时。甜心没有出现