2016-05-13 94 views
2

我有我想要的内部PHP代码的JavaScript,在这个JavaScript的场景我想执行执行MySQL查询的PHP代码。JavaScript内部的PHP和内部的JavaScript php代码

在我的提交按钮我有调用JavaScript,所以我不能调用ajax检查数据库的值,所以我已经把代码提交按钮功能。

我需要的功能,如果用户确认那么MySQL更新查询将执行,但如果用户不确认,然后它会去accountlist.php页

  if (isset($_POST['createcomapny']) && $_POST['createcomapny'] == "Submit") { 
       $company = $_POST['cmpname']; 
       $user = $_POST['username']; 
       $checkquery = mysql_query("select * from license_info where company_name='$company' and admin_user_name='$user'"); 

       if($checkrecord>0){ 
         echo "<script>var conf=confirm('Are you sure want to create this company'); if(conf){"; 
         mysql_query("update license_info set admin_user_name='lalu' where company_name='$company' and admin_user_name='$user'"); 
         echo "} else { windows.location='accountlist.php'; }</script>"; 
     } 

在提交按钮我有检查JavaScript验证。

function create() 
      { 
       if (document.companyregister.cmpname.value === "") 
       { 
        alert("Please Enter Company name"); 
        document.companyregister.cmpname.value = ""; 
        document.companyregister.cmpname.focus(); 
        return false; 
       } 
       var company = document.companyregister.cmpname.value; 
       var user = document.companyregister.user.value; 
       var xmlhttp = new XMLHttpRequest();      
       xmlhttp.onreadystatechange = function() {    
       if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {      
       var res = xmlhttp.responseText;      
       var resu = res.split("|");      
       if(resu[0]=="lokesh"){       
         document.getElementById('selectdriver1').style.display = 'block';             
         document.getElementById("drvr").style.display = "none"; 
         document.getElementById('findprinter').disabled = false; 
       }           
       document.getElementById('driver').innerHTML = resu[1]; 
       return false; 
       } 
      } 
      xmlhttp.open("GET", "getaccount.php?", true); 
      xmlhttp.send();           
      return true; 

      document.getElementById("formsubmitting").style.display = "block"; 
      document.getElementById("hidesubmit").style.display = "none"; 
      return true; 
      } 
+2

您似乎对客户端和服务器端代码的分离有点困惑,所以我建议您研究该主题。关于你的问题,要做你需要的东西,你必须使用AJAX。 –

+0

但是如果我调用ajax,那么在Ajax动作之前,完成代码页会因异步调用而获得真值。 – LOKESH

+0

这就是为什么您需要使用AJAX请求的回调 –

回答

-1

只需使用method =“POST”的形式。如果用户确认,请在javascript中设置名为“confirm”的输入值并发送表单。您可以将所需的所有数据添加为隐藏输入。

Javascript功能来提交:

if(conf){ document.getElementById("myForm").submit(); } 

PHP:

if($_POST['confirm']==true) { do action } 

顺便说一句。发送表单之前,您不能弹出此消息以确认吗?基本上你会发送2次这样的形式。您可以在发送第一个代码之前添加确认...

+0

你不明白我的问题。在点击提交按钮之后,在javascript中提交按钮的时候,想在javascript确认。 – LOKESH

+0

嗯,我确实理解问题。不再刷新页面的唯一解决方案是使用AJAX。你说你不能使用AJAX。因此,只需发送另一份表单并附加确认数据:) 在JavaScript中不可能放置PHP代码。 而且你说你不能使用AJAX,而你实际上是在编辑后使用它。我很困惑。 – RaV