2012-09-02 36 views
0

我想使用mootools訪問表單。 我的HTML代碼如下所示:mootools getElements失敗

<table border="0"> 

     <tr> 
      <td>username</td> 
      <td><input type="text" id="username" value="bla "/></td> 
     </tr> 
     <tr> 
      <td>password</td> 
      <td><input type="password" id="password"/></td> 
     </tr> 
     <tr> 
      <td>project</td> 
      <td><input type="text" id="project"/></td> 
     </tr> 
     <tr> 
      <td></td> 
      <td><input type="submit" id="login" value="login"/></td> 
     </tr> 
     </table> 

我的JavaScript這樣的:

window.addEvent('domready', function() { 
     //We are going to fill this with Mootools goodness 

    var jsonReq = new Request.JSON({ 
    url: 'test.php', 
    method: 'post', 
    data: { 
    username: $('username').value, 
    password: $('password').value, 
    project : $('project').value 
    }, 
    onSuccess: function(response) 
    { 
     if (response.status) 
     { 
     document.location = "home.html" 
     } 
     else 
     { 
      $('response').addClass('error'); 
      $('response').set('html', response.message); 
     alert("Msg" + response.message); 
     } 
    }, 
    // onRequest: function() { alert('Request made. Please wait...'); }, 
    onError: function(response, err) { alert('Faiure' + response + err); }, 
    onFailure: function(response) { alert('Faiure' + response); }, 

}); 

$('login').addEvent('click',function(event){ 
    event.stop(); 
    jsonReq.send(); 
}); 

    }); 

的問題是,如果該值屬性設置,我可以在我的PHP腳本retriev這一點,但沒有改變。

所以我alwayes看到用戶名= bla,但沒有變化... 有人可以幫助我嗎?

回答

0

因爲數據對象在domready狀態下被填充。那個時候,沒有價值。

你可以在提交處理程序做:

jsonReq.setOptions({ 
    data: document.id('someform') 
}).send(); 

你可以通過一個實際的表單元素數據,它會序列化它。否則,做你以上做的