如何在salesforce光环闪电组件中使用jQuery .val()?

时间:2016-05-18 21:56:05

标签: javascript jquery salesforce

我正在尝试在下一页上使用jQuery .val()函数来预先填写一些信息:

https://tophatsupport.force.com/s/contactsupport

我正在使用以下内容:

$("input[placeholder='Top Hat Username *']").val("This is a test");

这可以填充并填充字段,但是当我尝试提交表单时,它会将字段标记为无效,几乎就好像那里没有任何内容一样。

我想知道这里是否有人知道如何使用JS或jQuery填充这些字段,并在提交表单时将它们作为有效字段。

感谢您帮助互联网!

2 个答案:

答案 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);