Javascript 自动完成表单并在预填充字段中附加文本

Javascript autocomplete Form and append text in prefilled feild

本文关键字:字段 填充 文本 表单 Javascript      更新时间:2023-09-26

我正在尝试创建一个表单,该表单将根据输入的名字和姓氏自动填写文本字段。 例如:

如果姓氏是:史密斯如果名字是:约翰电子邮件地址应自动填写为: smithj@abc.com用户名应自动完成为:smithj。我有以下代码来完成用户名,但我无法弄清楚如何完成电子邮件部分。

任何帮助将不胜感激。

<form method="post" name="form" action="">
<div><label for="lname">Last Name: </label><input type="text" name="lname" id="lname" /></div>
<div><label for="fname">First Name: </label><input type="text" name="fname" id="fname" onblur="
if(document.form.username.value=='' && document.form.lname.value!='' && document.form.lname.value!='') {
     var username = '';
     if(document.form.fname.value.length >= 4) {
          username = document.form.lname.value.substr(0,49) + document.form.fname.value.substr(0,1);
     } else {
          username = document.form.lname.value.substr(0,49) + document.form.fname.value.substr(0,4);
     }
     username = username.replace(/'s+/g, '');
     username = username.replace(/''+/g, '');
     username = username.replace(/-+/g, '');
     username = username.toLowerCase();
     document.form.username.value = username; 
     }" /></div>

<div><label for="Email"> Email:      </label><input type="text" name="Email" /></div>
<div><label for="username">Username: </label><input type="text" name="username" id="username"/></div>
</form>

只是为了用答案完成它;)将以下内容添加到脚本中,电子邮件将与用户名一起填充,假设您只想在未设置用户名时填写它:

if (document.form.email.value == '') {
    var email = username + '@abc.com';
    document.form.email.value = email;
}