JavaScript不适用于窗体内的按钮

时间:2016-07-22 00:36:10

标签: javascript php forms

我第一次尝试使用JavaScript和PHP。

PHP,据我所知,要求提交按钮位于表单标签内。但是,出于某种原因,只有在提交按钮位于表单之外时,JavaScript才有效。如果我在表单标签内移动提交按钮,我会收到此错误: “index.html:94 Uncaught TypeError:submitBtn不是函数”。

有没有办法让1)让PHP使用OUTSIDE表单按钮?或2)让JavaScript使用表格中的按钮?

HTML:

<form>
    <div class="form" id="form">
        <label for="name">Name</label><br>
            <input type="text" name="username" id="name"><br>
                <label for="email">Email</label><br>
                <input type="text" name="username" id="email"><br>
                <label for="comment">Reason for contacting</label><br>
                <textarea rows="3" id="comment" name="comment"></textarea>
                <br>
    </div>      
    <button type="button" name="submitButton" id="submitBtn" onclick="submitBtn()">SEND</button>
</form>

JavaScript的:

function submitBtn() {
    var name = document.getElementById('name');
    var email = document.getElementById('email').value;
    var comment = document.getElementById('comment');
    if(name.value.length > 1 && name.value.length < 50) {
        if(email.length > 5 && email.length < 50 && email.indexOf('@') >= 0 && email.indexOf('.') >= 0 && !(email.indexOf(' ') >= 0)) {
            if(comment.value.length > 9 && comment.value.length < 500) {
        alert("Thanks");
            } else {
        alert("Message must be between 10 and 500 characters");
    }
        } else {
  alert("Not a valid email");
}
    } else {
alert("Name must be longer than three characters");
    }
};

2 个答案:

答案 0 :(得分:1)

将按钮的ID更改为 submitBtnId

元素的ID和函数名称不能相同,因为它们都是标识符。

<button type="button" name="submitButton" id="submitBtnId" onclick="submitBtn()">SEND</button>

答案 1 :(得分:0)

您必须更改功能名称或按钮ID,因为两者都相同。