2011-01-13 15 views
27

Jeśli mam dokument HTML, którego szorstka struktura jestJak wypełnić pole formularza i przesłać za pomocą javascript?

<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> 

Można zobaczyć, że nie jest to pole nazwę użytkownika oraz przycisk Go. Jak ja, używając Javascriptu, wypełnij nazwę użytkownika i naciśnij Go ...?

Wolałbym używać zwykłego JS, niż biblioteki takiej jak jQuery.

+0

Przebacz mojej niewiedzy, ale dlaczego ponownie wypełniasz właściwość xmlns dla danych wejściowych i div? Zazwyczaj należy to do znacznika ''. –

+0

Jakiś powód, dla którego nie używasz ''? Twój formularz nie zadziała, jeśli JS jest wyłączony. –

Odpowiedz

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

Można spróbować czegoś takiego:

<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

To nie jest przycisk przesyłania. 'goButton.click();' nic nie zrobi. –

+0

To robi. Próbowałeś? – Chandu

2

To byłoby coś takiego:

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

lub podobny EDIT: jesteście zbyt szybko;)

14
document.getElementById('username').value = 'foo'; 
document.getElementById('login_form').submit(); 
Powiązane problemy