2012-09-04 339 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()