简体   繁体   English

如果条件后如何在php后调用jquery函数?

[英]how to call jquery function after php if condition?

I want to display jquery sweet alert after php insert query successfully executed.. but whenever i tried to call jquery function after if condition, didn't work..or alert appear for 1-2 sec before page reload for form submit and disappear immediately..it only works with button onclick method.. 我想在成功执行php插入查询后显示jquery甜蜜警报..但是每当尝试在条件发生后调用jquery函数时,都无法工作..或警报显示1-2秒,然后重新加载表单提交页面并立即消失..它仅适用于按钮onclick方法。

<html>
<head>
<script src="lib/sweet-alert.js"></script>
<link rel="stylesheet" href="lib/sweet-alert.css">
</head>

<body>
<form method="post">
  <label for="name">name</label>
  <input type="text" name="name" id="name" />
  <input type="submit" value="submit" name="submit" class="sub" id="sub" />

<?php
   $a=mysql_connect("localhost","root","");
   $a1=mysql_select_db("test",$a);

  if(isset($_POST['submit']))
  {
         $name=$_POST['name'];
         $i=mysql_query("insert into student (name) values ('$name')");
    if($i)
    {

        echo "<script>a();</script>";
    }
  }
 ?>

 <script type="text/javascript">
 function a(){
 swal("Here's a message!");
 };
</script>

</body>
</html>

You are trying to mix two incompatiable languages, PHP is Server side, JQuery is Client Side. 您正在尝试混合使用两种不兼容的语言,PHP是服务器端,JQuery是客户端。 The PHP script is already finished processing once your Browser displays the page so you can not then decide to interact with the browser from a PHP script. 浏览器显示页面后,PHP脚本已经完成处理,因此您无法再决定通过PHP脚本与浏览器进行交互。

You need to use Ajax from a javascript page if you want this kind of functionality. 如果您需要这种功能,则需要从JavaScript页面使用Ajax。

Put javascript function declaration before your php script. 将javascript函数声明放在您的php脚本之前。

<script type="text/javascript">
 function a(){
 swal("Here's a message!");
 };
</script>
<?php
   $a=mysql_connect("localhost","root","");
   $a1=mysql_select_db("test",$a);

  if(isset($_POST['submit']))
  {
         $name=$_POST['name'];
         $i=mysql_query("insert into student (name) values ('$name')");
    if($i)
    {

        "<script>a();</script>";
    }
  }
 ?>
<?php 
if($_REQUEST['submit']){
    $i = "yes";
    if($i == "yes"){
    echo "<script>alert('hiii');</script>";
    }
}
?>
<form action="" method="post">
<input type="submit" name="submit" value="submit">
</form>

I have 1 demo.php file for form and alert. 我有1个demo.php文件用于表单和警报。 And demo1.php file for php query. 和demo1.php文件用于php查询。 I have to use Ajax for this. 我必须为此使用Ajax。 demo.php: demo.php:

<html>
<head>
<script src="lib/sweet-alert.js"></script>
<link rel="stylesheet" href="lib/sweet-alert.css">
<script src="js/jquery-1.8.0.min.js"></script>
</head>

<body>
<form method="post" class="frm" id="myform" onSubmit="j1">
 <label for="name">name</label>
 <input type="text" name="name" id="name" />
 <input type="submit" value="submit" name="submit" class="sub" id="sub" />
</form>

 <script>

     function j1(){
     var query = $('#myform').serialize();
     var url = 'demo1.php';
     $.post(url, query, function (response) {

         swal({
    title: "Thank You!",
    type: "success",
    confirmButtonColor: '#DD6B55',
    confirmButtonText: 'Okay'
    },
    function(isConfirm){
    if (isConfirm){
    window.location.replace('demo.php');
    } 
   });

   });

    }
   $("#myform").submit(function(){
    return false;
   });

  </script>
</body>
</html>

demo1.php: demo1.php:

<?php
   $a=mysql_connect("localhost","root","");
   $a1=mysql_select_db("test",$a);      

                 $name=$_POST['name'];
     $i=mysql_query("insert into student (name) values ('$name')");

 ?>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM