2016-04-25 100 views
0

js函數的某些部分: nothig發送到數據庫,我測試了t1,t2 & t3通過alert,它們不是空的,Any解決方案,謝謝。Javascript-將變量傳遞給php頁面window.location.href不工作

else{ 
 
\t \t var t1 = document.getElementById('t1').value; 
 
\t \t var t2 = document.getElementById('t2').value; 
 
\t \t var t3 = document.getElementById('t3').value; 
 
\t \t window.location.href = "b1.php?t1=" + t1+ "&t2=" + t2 + "&t3=" + t3 ; 
 
\t \t alert('success'); 
 
    }
//b1.php 
 

 
<?php 
 
    
 
     $email=$_GET["t1"]; 
 
    
 
\t $img=$_GET["t2"]; 
 
\t 
 
     $target=$_GET["t3"]; 
 
\t 
 
     include("connection.php"); 
 
     $sql=mysql_query("insert into b1(email, img, target) 
 
     values ('$email', '$img', '$target')"); 
 
    
 
    
 
?> 
 

 
//connection.php 
 

 
<?php 
 
     mysql_connect('localhost','root',''); 
 
     mysql_select_db("banner"); 
 
?>

注:我使用wampserver測試

+0

什麼'$ _GET'輸出嗎? – chris85

+0

嘗試'window.location =「www.yourwebsite.com/b1.php?t1=」+ t1 +「&t2 =」+ t2 +「&t3 =」+ t3;' – shah

+0

@king bia:因爲您正在使用'GET '傳遞數據到你的php頁面的方法,這樣你就可以正確地看到這些值是否在URL中傳遞?他們是否通過了? –

回答

1

問題:的值不是通過GET方法提交..!

注意:首先,我檢查了代碼在Chrome &然後在Firefox.Strange的事情是,該代碼在Firefox的工作完美,而在鍍鉻它是不是在所有&工作也無法在Internet Explorer等工作..!

解決方案: 然後我檢查了,你可能會提交一個值提交,所以你需要一個event.preventDefault();添加到您的代碼..!

這裏是我嘗試和努力馬上代碼:

<form action="home.php" onsubmit="redirect(event)"> 
<input type="text" id="t1"> 
<input type="text" id="t2"> 
<input type="text" id="t3"> 
<input type="submit" > 
</form> 

<script> 

function redirect() { 

var t1 = document.getElementById('t1').value; 
      var t2 = document.getElementById('t2').value; 
      var t3 = document.getElementById('t3').value; 
      event.preventDefault(); 
      alert('success'); 
      window.location.href = "b1.php?t1=" + t1+ "&t2=" + t2 + "&t3=" + t3 ; 


} 

</script> 
+1

如果情況並非如此,那麼用你的整個代碼更新你的問題,即使你在第一個地方提交這些值,你剛剛分享了JS代碼的「else」部分。 –

+1

您需要將該函數作爲'onsubmit =「redirect(event)」'調用。有些瀏覽器不提供'event'作爲全局變量。 – Barmar

+1

@Barmar:你是說這就是爲什麼它不起作用的原因,因爲它現在正在工作,而不使用重定向功能的事件? –