我正在尝试在下一页上使用jQuery .val()
函数来预先填写一些信息:
https://tophatsupport.force.com/s/contactsupport
我正在使用以下内容:
$("input[placeholder='Top Hat Username *']").val("This is a test");
这可以填充并填充字段,但是当我尝试提交表单时,它会将字段标记为无效,几乎就好像那里没有任何内容一样。
我想知道这里是否有人知道如何使用JS或jQuery填充这些字段,并在提交表单时将它们作为有效字段。
感谢您帮助互联网!
答案 0 :(得分:0)
您提供的网址在页面上有某种javascript,每500毫秒检查一次网址,并使用网址查询字符串中的值更新用户名和电子邮件字段的值。如果url没有任何查询字符串,则正在更新空白值,这会产生问题。 如果这是您的页面,则必须修改javascript以在查询字符串不存在时不更新该字段。 如果您提供查询字符串,则会填充电子邮件和用户名,例如提供window.location.search =“username =这是一个测试& email=test@test.com”。
答案 1 :(得分:0)
您的jQuery代码段是正确的,并按预期工作。只是您已设置setInterval
不断覆盖输入字段:
queryOutput = setInterval(function(){
if($(".queryOutput").parent()){
console.log("Found queryOutput, appending test text.");
$(".queryOutput").html("Username: " + getQueryVariable("username") + "<br>" + "First Name: " + getQueryVariable("firstname") + "<br> Last Name: " + getQueryVariable("lastname"));
if($("input[placeholder='Top Hat Username *']")){
// HERE: getQueryVariable("username") returns undefined.
$("input[placeholder='Top Hat Username *']").val(getQueryVariable("username"));
$("input[placeholder='Email *']").val(getQueryVariable("email"));
}
if($(".queryOutput").html() != "Query output here"){
//clearInterval(queryOutput);
}
}
}, 500);