简体   繁体   English

如何使用javascript填写表单字段并提交?

[英]How to fill in form field, and submit, using javascript?

If I have an html document whose rough structure is 如果我有一个HTML文档,其粗略结构是

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

You can see that there is a username field and a Go button. 您会看到有一个用户名字段和一个“执行”按钮。 How would I, using Javascript, fill in the username and press Go...? 我如何使用Javascript填写用户名并按Go ...?

I would prefer to use plain JS, rather than a library like jQuery. 我更喜欢使用普通的JS,而不是像jQuery这样的库。

document.getElementById('username').value="moo"
document.forms[0].submit()
document.getElementById('username').value = 'foo';
document.getElementById('login_form').submit();

You can try something like this: 您可以尝试如下操作:

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

It would be something like: 就像这样:

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

Or similar edit: you guys are too fast ;) 或类似的编辑:你们太快了;)

This method helped me doing this task 这种方法帮助我完成了这项任务

document.forms['YourFormNameHere'].elements['NameofFormField'].value = "YourValue"
document.forms['YourFormNameHere'].submit();

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM