2012-09-04 276 views
0

我試圖將一個變量傳遞給一個javascript函數,但我不確定發生了什麼,因爲我主要是一個PHP人。將變量傳遞給ajax函數

<script language="javascript" type="text/javascript"> 
<!-- 
//Browser Support Code 
function ajaxFunction(str){ 
    var ajaxRequest; // The variable that makes Ajax possible! 

    try{ 
     // Opera 8.0+, Firefox, Safari 
     ajaxRequest = new XMLHttpRequest(); 
    } catch (e){ 
     // Internet Explorer Browsers 
     try{ 
      ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP"); 
     } catch (e) { 
      try{ 
       ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP"); 
      } catch (e){ 
       // Something went wrong 
       alert("Your browser broke!"); 
       return false; 
      } 
     } 
    } 
    // Create a function that will receive data sent from the server 
    ajaxRequest.onreadystatechange = function(){ 
     if(ajaxRequest.readyState == 4){ 
      document.getElementById("emailconfirm").innerHTML= ajaxRequest.responseText; 
     } 
    } 

    ajaxRequest.open("GET", "Atest.php?Email="+str, true); 
    ajaxRequest.send(null); 
} 

//--> 
</script>   

形式

<form name='myForm'> 

    <input name="email" id="email"type="text" /> 
    <input name="button" onclick="ajaxFunction(document.getElementById('email').value" type="button" /> 
</form> 

我想能夠一次按鈕獲得點擊,電子郵件文本輸入將被傳遞給JavaScript函數。

+0

爲什麼不直接傳入ID並在函數中進行查找?更乾淨。但是,當然,你可以通過任何你想要的功能。 –

+0

你onclick屬性中的語法錯誤,缺少'''' – Musa

+2

jQuery在3 ... 2 ... 1 – NicoSantangelo

回答

1

你是近乎完美的,只是幾件事情:

你在你的onclick事件錯過了)。只需將其添加到最終,它應該工作。

你不需要所有的東西try..catch的東西,除非你需要支持Internet Explorer 6,所以你可以擺脫它,並離開ajaxRequest = new XMLHttpRequest()