HTML表单的onclick事件不调用JavaScript函数

3

我想创建一个动态表单,通过点击按钮(或图像)向表单中添加输入项,在onclick事件中直接放置代码即可实现。

alert("Hello");

它可以正常工作...但是,当我尝试调用JavaScript函数时,它无法工作...即使我调用简单的 hello() 函数(也适用于 add() 函数)

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<script type="text/javascript">
function add() {
    var container = document.createElement("div"); 
    container.innerHTML = "<input type='text' name='email'><br/>";
    document.getElementById('emails').appendChild(container);
}
function hello() {
    alert("Hello"); 
}
​</script>
</head>
<body>
<form id="myform" name="myform" action="valid.php" method="POST">
    <div id="emails">
        <input type='text' name='email' value=''/><br />
    </div>
    <img width="50px" src="myimage.jpg" onclick='add();'/>
    <input type="submit" value="Submit"/>
</form>
</body>
</html>

有人能发现为什么吗?

你实际上在哪里调用这个函数? - Shomz
我没有看到你在哪里将hello指定为onclick事件处理程序。 - Viktor S.
似乎在这里工作 http://jsfiddle.net/j08691/k9g5e/ - j08691
调用hello()或add(),它不起作用... - TheSquad
@j08691的例子中两者都可以正常工作。 - Shomz
显示剩余2条评论
2个回答

3

看起来它之前有某种特殊字符:

 </script>.

我只是复制并粘贴了这里的内容。 请看第13行中的第一个字符。


该死!它没有出现在我的编辑器上...谢谢,问题解决了! - TheSquad

1

我将它复制到了一个漂亮的jsfiddle中,链接在这里http://jsfiddle.net/dr9hG/

我还将名称从"email"更改为"email[]",以便您可以通过数组在提交到页面上访问所有内容。


谢谢,是的,我还没有到这个部分,但仍然很有帮助。 - TheSquad

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接