使用Javascript,如果用户单击非表单元素,我希望获取表单字段中的任何内容

使用Javascript,如果用户单击非表单元素,我希望获取表单字段中的任何内容,javascript,Javascript,我有一个应用程序的登录表单,我们不能更改供应商提供的后端,但我们可以更改模板ie:html和javascript。它下面有一个忘记密码链接。几乎所有用户都只需点击链接,但有些用户输入用户名,反复尝试几次,然后点击忘记密码链接 我想做的是使用javascript查看用户名字段,如果它有任何内容,请更改忘记密码链接的URL,以指向密码恢复的下一步 因此,当用户单击用户名字段中没有值的链接时,链接会转到: 如果用户名字段中有值,我希望链接解析为: {username} 易于操作?尝试收听输入的更改事件

我有一个应用程序的登录表单,我们不能更改供应商提供的后端,但我们可以更改模板ie:html和javascript。它下面有一个忘记密码链接。几乎所有用户都只需点击链接,但有些用户输入用户名,反复尝试几次,然后点击忘记密码链接

我想做的是使用javascript查看用户名字段,如果它有任何内容,请更改忘记密码链接的URL,以指向密码恢复的下一步

因此,当用户单击用户名字段中没有值的链接时,链接会转到:

如果用户名字段中有值,我希望链接解析为: {username}


易于操作?

尝试收听输入的更改事件或按下键,然后更改链接

jQUery

$('.selector').change(function(){
$('a#forgot').attr('href','your html address here').html('The text displayed here')
});
是的,很容易做到:

在标记中,将链接的href保留为第一个url,这样,如果用户关闭了JS,它仍然可以为他们工作。 将onclick处理程序添加到检查用户名字段值的链接中,如果该字段不为空,则更改链接的href。 代码:


您的链接和用户名字段需要设置id以匹配您在JS中使用的内容。

您可以获取输入值并根据长度或值进行检查

根据该值,您可以更改URL

参见小提琴:

我会将onchange事件绑定到username字段,然后如果有内容,则更改链接。我喜欢这种方法,但无论表单字段中是否有内容,我都会得到以下URL:啊,看起来代码已经更新:var username=document.getElementByIdusername.value;是的,对不起,就在我点击提交按钮后,我意识到我没有输入.value,所以我很快编辑了它,希望没有人注意到。请注意,如果用户按下浏览器的“停止”按钮并清除“用户名”字段,您可能需要添加一个else case来重置默认url。或者,完全删除if,然后测试服务器端的id参数是否为空。
window.onload = function() {
   var link = document.getElementById("yourLinkId");
   link.onclick = function() {
      var username = document.getElementById("username").value;
      if (username != "") {
          link.href = "http://example.com/system/lookup.html?id=" +
                      encodeURIComponent(username);
      }
   };
};