2015-04-03 136 views
-4

以下PHP函數是我的文本框代碼PHP的JavaScript代碼來調用JavaScript中

<input id="society_name" onBlur="showsociety(this.value)" /> 
<input id="societyid" name="society" /> 

下面是我的javascript調用哪個頁面addressdata.php ...

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js" type="text/javascript"></script> 
<script> 
function showsociety(str) 
{ 
if (window.XMLHttpRequest) 
{ xmlhttp=new XMLHttpRequest();} 
else 
{ xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } 
xmlhttp.onreadystatechange=function() 
{ 
    if (xmlhttp.readyState==4 && xmlhttp.status==200) 
    { 
     var data = JSON.parse(xmlhttp.responseText); 
     for(var i=0;i<data.length;i++) 
     {   
      document.getElementById("societyid").value = data[i].societyid;    
     } 
    } 
} 
xmlhttp.open("GET","addressdata.php?q="+str,true); 
xmlhttp.send(); 
} 
</script> 

Addressdata PHP頁面

<?php 
require_once('includes/config.php'); 
$q = $_GET['q']; 
$city = $database->getRows("SELECT SM.id AS societyid,SM.society from societymaster SM WHERE SM.society = :society", array(':society'=>"$q")); 
$info = array(); 
foreach($city as $row) 
{ 
    $cID = $row['societyid']; 

    $info[] = array('societyid' => $cID); 
} 
echo json_encode($info); 
?> 

我需要在多個文本框中獲取id,就像上面給出的ex ...在我的表單中一樣。

因此,這可能把所有的代碼放在addressdata.php發揮作用,只有從JavaScript調用這個函數...

FOR EX - 我需要addressdata.php文件的整個PHP代碼因爲它是在功能和對文本框模糊事件..

+3

我不知道你在問什麼。 – epascarello 2015-04-03 13:45:00

+0

在文本框blur事件:) – 2015-04-03 13:47:15

+0

我只需要包裝Addressdata.php頁面的代碼中函數一樣functionaddress任何名稱,並從JavaScript調用該函數functionaddress ......這條線xmlhttp.open(「GET」,「addressdata.php q =「+ STR,TRUE); – 2015-04-03 15:50:57

回答

0

正確調用下面那朵的JavaScript如果我明白你要添加更多的文字輸入元素到您的網頁,並能使用這個整體顯示在每一個社會的進程的這些元素。

問題未進行轉換的PHP代碼到一個函數(這會帶來什麼)。

你想要的是能夠告訴showsociety()輸入元素應該在工作當中的功能。 在最簡單的情況下,你可以添加額外的參數到溫控功能:

showsociety(str, id) {...} 

,並使用該ID以搜索頁面上的正確元素。

[...] 
document.getElementById(id).value = data[i].societyid; 
[...] 

<input id="society_name" onBlur="showsociety(this.value, this.id)" /> 

它可以做得更好,但我認爲這樣簡單的解決方案,你應該沒有太多的問題。

希望它幫助。