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 に答える