2011-01-13 6 views
27

私はラフ構造あなたはユーザ名フィールドと[移動]ボタンがあることがわかりますフォームフィールドに入力して提出するにはどうすればよいですか?

<html> 
<head> 
</head> 
<body class="bodyclass" id="bodyid"> 
<div class="headerstuff">..stuff...</div> 
<div class = "body"> 
<form action="http://example.com/login" id="login_form" method="post"> 
<div class="form_section">You can login here</div> 
<div class="form_section"> 
<input xmlns="http://www.w3.org/1999/xhtml" class="text" id="username" 
     name="session[username_or_email]" tabindex="1" type="text" value="" /> 
</div> 
<div class="form_section">etc</div> 
<div xmlns="http://www.w3.org/1999/xhtml" class="buttons"> 
    <button type="submit" class="" name="" id="go" tabindex="3">Go</button> 
    <button type="submit" class="" name="cancel" 
      id="cancel" tabindex="4">Cancel</button> 
</div> 
</form> 
</div> 
</body> 
</html> 

されたHTML文書を持っている場合。どうすればJavascriptを使ってユーザ名を記入し、Go ...を押しますか?

jQueryのようなライブラリではなく、プレーンなJSを使用することをお勧めします。

<script type="text/javascript"> 
     function simulateLogin(userName) 
     { 
      var userNameField = document.getElementById("username"); 
      userNameField.value = userName; 
      var goButton = document.getElementById("go"); 
      goButton.click(); 
     } 

     simulateLogin("testUser"); 
</script> 
+0

私の無知を許しますが、なぜ入力とdivの両方のxmlnsプロパティを埋めていますか?これは通常、 ' 'タグに属します。 –

+0

''を使わない理由は何ですか? JSが無効になっている場合、フォームは機能しません。 –

答えて

42
document.getElementById('username').value="moo" 
document.forms[0].submit() 
3

あなたはこのような何かを試すことができ君たちはあまりにも高速です;)

+0

送信ボタンではありません。 'goButton.click();'は何もしません。 –

+0

です。試しましたか? – Chandu

2

それは次のようになり、何かのように:

document.getElementById("username").value="Username"; 
document.forms[0].submit() 

または類似 編集:

14
document.getElementById('username').value = 'foo'; 
document.getElementById('login_form').submit(); 
関連する問題