简体   繁体   English

如何使用javascript将文本输入文本字段

[英]How to input text into text field with javascript

I have a form on a wordpress site with a text field for an email adress which looks like this: 我在wordpress网站上有一个带有文本字段的表单,用于填写电子邮件地址,如下所示:

<div class="tnp-field tnp-field-email"><label>Email</label><input class="tnp-email" type="email" name="ne" required></div>

I can get the email address from a get parameter (www.domain.com/?email=test@mail.com) like this: 我可以从get参数(www.domain.com/?email=test@mail.com)获取电子邮件地址,如下所示:

<script type='text/javascript'>
function getUrlVars() {
    var vars = {};
    var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
        vars[key] = value;
    });
    return vars;
}

function getUrlParam(parameter, defaultvalue){
    var urlparameter = defaultvalue;
    if(window.location.href.indexOf(parameter) > -1){
        urlparameter = getUrlVars()[parameter];
        }
    return urlparameter;
}

var emailtxt = getUrlParam('email','');

How can I fill the text field with emailtxt ? 如何用emailtxt填充文本字段?

You can just set the value of the input field ( HTMLInputElement.value = "value" ). 您可以只设置输入字段的值( HTMLInputElement.value = "value" )。

document.querySelector("input[name=ne]").value = getUrlParam('email','');

 <div class="tnp-field tnp-field-email"><label>Email</label><input class="tnp-email" type="email" name="ne" required></div> <script type='text/javascript'> function getUrlVars() { var vars = {}; var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) { vars[key] = value; }); return vars; } function getUrlParam(parameter, defaultvalue){ var urlparameter = defaultvalue; if(window.location.href.indexOf(parameter) > -1){ urlparameter = getUrlVars()[parameter]; } return urlparameter; } var emailtxt = getUrlParam('email',''); console.log(emailtxt); document.querySelector('input[name=ne]').value = emailtxt; </script> 

You can try DOM id selector: 您可以尝试使用DOM ID选择器:

<input class="tnp-email" type="email" name="ne" id="yourId" required>

document.getElementById("yourId").innerHTML = "Your text";

You can use DOM class name selector like this: 您可以使用DOM类名称选择器,如下所示:

 var x = document.getElementsByClassName("tnp-email");
 x[0].value = "Your value";

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

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