TypeError:未定义

时间:2013-01-25 05:18:55

标签: jquery html

我正在尝试设置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>

2 个答案:

答案 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();
});