你的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);
Uzbekjon,謝謝你的迴應!問題是如果你運行clearInterval(queryOutput);在您的控制檯中,然後嘗試使用.val()函數,仍然會返回錯誤。或者,如果您使用網址: https://tophatsupport.force.com/s/contactsupport?username=test123&[email protected] 那麼理論上它應該能夠接受這個預填充數據到表單,但它並不認爲它沒有被填充。我每500毫秒更新一次,因爲一些後端腳本會自動清除提交時的值。這是一個非常有趣的難題,我似乎無法破解 – 619deathstar