我正在尝试设置Add Question
按钮功能,但我的开始不好。我收到一条错误说明:
TypeError:form.questionText未定义
我做错了什么?
<script type="text/javascript">
function insertQuestion(form) {
var questionarea = (form.questionText.length) ? form.questionText[0] : form.questionText;
}
</script>
<table id="question">
<tr>
<td>Question:</td>
<td>
<textarea class="questionTextArea" id="mainTextarea" rows="5" cols="40" name="questionText"></textarea>
</td>
</tr>
</table>
<form id="QandA" action="insertQuestion.php" method="post">
<table id="questionBtn" align="center">
<tr>
<th>
<input id="addQuestionBtn" name="addQuestion" type="button" value="Add Question"
onClick="insertQuestion(this.form)" />
</th>
</tr>
</table>
</div>
<hr/>
<table id="qandatbl" align="center" cellpadding="0" cellspacing="0" border="0">
<thead>
<tr>
<th width="13%" class="question">Question</th>
</tr>
</thead>
</table>
<div id="qandatbl_onthefly_container">
<table id="qandatbl_onthefly" align="center" cellpadding="0" cellspacing="0"
border="0">
<tbody></tbody>
</table>
</div>
</form>
答案 0 :(得分:0)
您尚未定义任何questionText
因此会产生undefined
错误
更新1:
然后,您必须在提交按钮所在的form
中添加您的questionText:
<textarea class="questionTextArea" id="mainTextarea" rows="5" cols="40" name="questionText"></textarea>
答案 1 :(得分:0)
questionText
元素不在<form>
内。将其移到表单内!更好的是,因为你正在使用jQuery,所以有一个更简洁的方法来做到这一点。摆脱你的JS和之后的 html add:
$("#addQuestionBtn").on('click', function (e) {
var questionarea = $("[name=questionText]").val();
e.preventDefault();
});