我有一个小部件,我试图预先填充数据,但我无法访问小部件代码,只能访问其HTML元素:
以下代码正确接收电子邮件(通过URL传递)并更新电子邮件地址输入:
var getUrlParameter = function getUrlParameter(sParam) {
var sPageURL = decodeURIComponent(window.location.search.substring(1)),
sURLVariables = sPageURL.split('&'),
sParameterName,
i;
for (i = 0; i < sURLVariables.length; i++) {
sParameterName = sURLVariables[i].split('=');
if (sParameterName[0] === sParam) {
return sParameterName[1] === undefined ? true : sParameterName[1];
}
}
};
var email = getUrlParameter('email');
console.log(email);
$('#ticketSubmissionForm').contents().find('input[name="email"]').val(email);
我想尝试做什么,因为我无法添加&#34;点击&#34;进入窗口小部件的功能是,我想在用光标点击字段时更新该输入字段。
鉴于jQuery正确选择包含小部件的iframe内部的输入元素,我该怎么做?这是我到目前为止所尝试的:
$('#ticketSubmissionForm').contents().find('input[name="email"]').click(function(){
var change = $(this).val(email);
console.log(change);
});
但这似乎不起作用
答案 0 :(得分:0)
问题是,在小部件完全加载之前jQuery正在执行,从而使jQuery语句未定义。添加延迟修复了问题