如何在输入点击时用jQuery填充输入

时间:2017-03-14 15:28:58

标签: javascript jquery html iframe

我有一个小部件,我试图预先填充数据,但我无法访问小部件代码,只能访问其HTML元素:

enter image description here

以下代码正确接收电子邮件(通过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);
});

但这似乎不起作用

1 个答案:

答案 0 :(得分:0)

问题是,在小部件完全加载之前jQuery正在执行,从而使jQuery语句未定义。添加延迟修复了问题