mootools getElements失败了

时间:2012-09-02 06:03:11

标签: javascript mootools

我想访问带有mootools的表单。 我的HTML代码如下:

  <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();
});

    });  

问题是,如果设置了value属性,我可以在我的php脚本中检索它,但没有更改。

所以我总是看到username = bla但没有变化...... 有人能帮帮我吗?

1 个答案:

答案 0 :(得分:0)

因为数据对象在domready状态下填充。那时,没有任何价值。

你可以在提交处理程序中执行:

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

您可以将实际的表单元素传递给数据,它会为您序列化它。否则,做你上面做的