0

我想使用 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 但没有变化...有人可以帮助我吗?

4

1 回答 1

0

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

您可以在提交处理程序中执行以下操作:

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

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

于 2012-09-04T12:19:50.137 回答