onclick javascript函数在Firefox中不起作用

时间:2010-11-20 20:50:36

标签: php javascript jquery html

我从来没有真正听说过在每个浏览器中使用这个简单的东西,但是firefox,那么有人可以对此有所了解吗?

 <a href="javascript:" onclick="quoteMe('name','id','yourname');" id="quote" style="border:1px solid white;color:#F1F1F1; font-weight:bold;">&nbsp;reply&nbsp;</a>

jQuery的:

    var nameForm;
function quoteMe(commenterName, id, name) {
if (name == "")
nameForm = 'Name: <input type="text" class="input" name="username" value="" />'
else
nameForm = '<div class="outlineTitle2">'+name+'</div>'+'<input type="hidden" class="input" name="username" value="'+name+'" />'
 if (jQuery("#replyForm"+id).length == 0) {
jQuery("#"+id).append('<form method="post" id="replyForm'+id+'"><br /><input type="hidden" name="cid" value="'+id+'" /><input type="hidden" name="nameOfTable" value="articles" />'+nameForm+'<br />Reply: <input type="text" class="input" name="commentReply" value="'+commenterName+'" style="width:80%" /><input type="submit" value="POST" name="addReply" class="bigButton" /></form>');
}
else {
jQuery("#replyForm"+id).remove();
}

}

第一个答案下面有更多更新。 http://cl.ly/082z3g04381G3r1i2e08

2 个答案:

答案 0 :(得分:5)

尝试将quoteMe替换为alert,看看会发生什么。
如果弹出警告,则表示您的功能出现问题。

内联事件也适用于Firefox,这是我使用的常用调用:

<a href="javascript:void(0)" onclick="fn(this, param1, param2)">label</a>

更短:

<a href="javascript:" onclick="fn(this, param1, param2)">label</a>
  • 如果您使用href =“#”,则需要在return false调用onclick,否则,哈希键将在地址栏中更改。它可能很烦人,特别是在基于ajax的应用程序中。

  • 传递给函数this通常很有用,它会为您提供对点击的<a>的引用。你不必使用id来找回它。

答案 1 :(得分:0)

您不能将form作为table元素的子项。使用表的父节点,或添加单元格。

(供参考,源的正确缩进版本:

var nameForm;

function quoteMe(commenterName, id, name) {
    if (name == "") {
        nameForm = 'Name: <input type="text" class="input" name="username" value="" />'
    }
    else {
        nameForm = '<div class="outlineTitle2">' + name + '</div>' +
                   '<input type="hidden" class="input" name="username" value="' + name + '" />'
    }
    if (jQuery("#replyForm" + id).length == 0) {
        jQuery("#" + id).append('<form method="post" id="replyForm' + id + '">' +
                                  '<br />' +
                                  '<input type="hidden" name="cid" ' +
                                  '       value="' + id + '" />' +
                                  '<input type="hidden" name="nameOfTable" ' +
                                  '       value="articles" />' +
                                  nameForm + '<br />' +
                                  'Reply: <input type="text" class="input" ' +
                                  '              name="commentReply" ' +
                                  '              value="' + commenterName + '"' +
                                  '              style="width:80%" />' +
                                  '<input type="submit" value="POST" ' +
                                  '       name="addReply" class="bigButton" />' +
                                '</form>');
    }
    else {
        jQuery("#replyForm" + id).remove();
    }
}

)。