2013-09-25 637 views
0

我试图创建一个表单,该表单会根据输入的名字和姓氏自动完成文本字段。例如:Javascript自动填充表单并在预填充的表单中添加文本

如果姓是:史密斯 如果名字是:约翰 的电子邮件地址应该是自动完成的:[email protected] 以及用户名应该是自动完成的样子: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> 
+1

您的JavaScript代码不是真正可读的,你会介意格式化它好一点吗?而对于你最初的问题:你只需要在用户名字符串后加'@ abc.com':'var email = username +'@ abc.com';' –

回答

0

只是为了使它成为一个完整的答案;)以下内容添加到您的脚本和电子邮件获取与用户名一起填满,假设你只是想填补它,当用户名未设置之一:

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