当我在frontend.php中使用带有onClick函数的JavaScript按钮时,会导致错误。我需要这个简单的应用程序才能完成简单的工作,但它却陷入了困境。
我提供了两个链接。首先是在表格标签(frontend.php)内,并且它不起作用 - ADDMORE BUTTON SIMESY DOESN添加了更多的文字!第二个链接没有表单标签,它可以工作,您可以尝试提交,这将留给您到welldone.php页面。
2.LINK - No form tag, no problem
HTML表格
<form action="http://www.balkanex.info/dev/frontend.php" method="post">
Title: <br/><input type="text" name="title"><br/><br/>
The question is: <br/><input type="text" name="ask"><br/><br/>
<br/>
<input type="submit" name="submit" value="PROCEED"><br/>
</form>
FRONTEND.PHP文件
<script>
am = 1;
function more(index) {
am++;
var textarea = document.createElement("textarea");
textarea.name = "answer" + am;
var div = document.createElement("div");
div.innerHTML = textarea.outerHTML;
document.getElementById("inner1").appendChild(div);
}
</script>
<?php
echo '<form action="welldone.php" method="post">';
$content = "";
$title = $_POST['title'];
$question = $_POST['ask'];
if($_POST['ask'] != "") {
$answer = '<textarea name="answer1"></textarea>';
$more = '<button type="button" name="more" onClick="more();">Add more</button>';
$content .= '1) '.$question.'<br/>'.$answer.'<br/><div id="inner1"></div>'.$more.'<br/><br/>';
}
echo $content;
echo'<br/><input type="submit" value="CALCULATE"></form>';
?>
结果WELLDONE.PHP文件
<?php
echo 'WOW, WELL DONE';
?>
答案 0 :(得分:1)
问题是,当您使用more
时,浏览器会使用<button name="more">
而不是function more
。然后,你得到
TypeError: more is not a function
此行为仅存在于表单中,这就是为什么没有表单的代码可以工作的原因。
您可以通过以下方式解决此问题:
<script>
元素而不是内联onclick
属性添加事件处理程序。无论如何,您的代码完全无效且处于怪癖模式。您应该验证它并修复错误。