<div id = '147'>
<u><b><font color = 'blue' onClick = 'javascript:showbox(147)'>Comment </font</b></u>
</div>
<script type='text/javascript'>
<!--
function showbox(var1) {
document.getElementById(var1).innerHTML = var1 + " <form name = 'commentform' method = 'post' action = ''><input type='text' name = 'comment' value='Enter Your Comment' ><input type='hidden' value= " + var1 + " name='wallpostid'> <input type ='hidden' value = '$userid' name = 'userid' > <input type='submit' name = 'send' value='Post your Comment' onClick='javascript:postcomment()'> </form>";
<b onclick= 'postcomment()' > </b>;
}
function postcomment() {
document.commentform.comment.submit();
}
-->
</script>
以上是代码。它在FF中工作,但在IE或Chrome中不起作用。
任何人都可以告诉我哪里出错了。任何使其适用于所有浏览器的解决方案?
答案 0 :(得分:1)
这里有一些拼写错误:
"...<input type='hidden' value= " + var1 + " name='wallpostid'>... "
"...<input type='hidden' value='" + var1 + "' name='wallpostid'/>... "
请注意/
和两个'
也是这一行
<b onclick= 'postcomment()' > </b>;
没有做任何事情,因为它在javascript而不是文件的html部分。
答案 1 :(得分:1)
首先,你的标记有点乱,所以难怪其中有一个混乱。但是我认为你的问题是$userid
作为字符串传递而不是它作为某种变量的值。
这是你的标记整理了一点(但仍然有很多不足之处)删除了一些冗余的东西,$userid
回显了PHP风格。
<div id="147" onclick="showbox(this)"><a href="#">Comment</a></div>
<script>
function showbox(el) {
el.innerHTML = el.id + '\
<form name"="commentform" method="post" action="">\
<input type="text" name="comment" value="Enter Your Comment" />\
<input type="hidden" value="' + el.id + '" name="wallpostid" />\
<input type="hidden" value="<?php echo $userid; ?>" name="userid" />\
<input type="submit" name="send" value="Post your comment">\
</form>';
}
</script>
答案 2 :(得分:0)
document.getElementById(var1).innerHTML = var1 + " <form name = 'commentform' method = 'post' action = ''><input type='text' name = 'comment' value='Enter Your Comment' /><input type='hidden' value= '" + var1 + "' name='wallpostid' /> <input type ='hidden' value = '$userid' name = 'userid' /> <input type='submit' name = 'send' value='Post your Comment' onClick='javascript:postcomment()' /></form><b onclick= 'postcomment()' ></b>";
答案 3 :(得分:0)
一堆事情都错了:
1. ID不能以数字开头
2.使用onclick
,而不是onClick
3.不要将javascript:
放在onclick
中
你的<b onclick
......没用了
5.您的postcomment
函数只是提交表单 - 您不需要JS
6.确保为表单设置action
这是完整的固定代码:
<div id='div147'><u><b><font color='blue' onclick='showbox(147)'>Comment</font></b></u></div>
<script type='text/javascript'>
function showbox(var1) {
document.getElementById(var1).innerHTML = var1 + " <form name='commentform' method='post' action='someurl.php'><input type='text' name='comment' value='Enter Your Comment'><input type='hidden' value='" + var1 + "' name='wallpostid'><input type='hidden' value='$userid' name='userid'> <input type='submit' name='send' value='Post your Comment'> </form>';
}
</script>
答案 4 :(得分:0)
虽然有些浏览器会显示运行时错误,但有时会添加内部html。 Reffer this question for better understandability for how to add inner html。另外我不认为你需要onclick功能来提交表格。它会在点击提交后自动提交