将beind附加到DIV后,无法找到元素ID

时间:2012-05-02 09:11:59

标签: javascript jquery

我正在使用这一点jQuery在选中复选框后将文本输入字段附加到div:

$('.sharewithfriends').on("click", ".manual-invite", function () {
        if ($('input[name=manual-invite]').is(':checked')) {
          $('<li style="margin-top:0;display:none"><input type="text" id="invite_email1" name="invite-email1" value="Add an E-Mail" onfocus="clearText(invite_email1);" onblur="fillText(invite_email1);"/><span><a class="add" href="">Add</a></span></li>').appendTo('#invite-emails').slideToggle();

}

onfocusonblur事件外,所有这些都可以。他们调用以下简单函数,这些函数应该清除焦点上的字段并用模糊的默认文本填充它:

function clearText(thefield){
if (thefield.defaultValue==thefield.value)
thefield.value = ""
}

function fillText(thefield){
if (thefield.value=="")
thefield.value=thefield.defaultValue;
}

但是,当我点击该字段时,我收到一条错误消息,说“邀请_email1未定义”,即使它显然是。

任何人都知道我需要做些什么才能让它发挥作用?

1 个答案:

答案 0 :(得分:5)

你没有提到正确的元素。

clearText(invite_email1);替换为clearText(this); 更好的是,绑定事件侦听器而不是添加内联事件。

相关问题