繁体   English   中英

JavaScript验证有效,但表单未提交

[英]Javascript validation working, but the form doesn't submit

我有这种形式,例如在类型A中,您只能写以1开头的数字,依此类推:

 <form accept-charset="UTF-8" action="verify.php" id="form" method="post">
 <label id="type" for="type" class="">Type</label>
 <select class="" id="Type" name="type">
 <option id="a" value="1">Type A</option>
 <option id="b" value="2">Type B</option>
 <option id="c" value="3">Type C</option>
 <option id="d" value="4">Type D</option>
 <option id="e" value="5">Type E</option>
 </select>
 <label for="type_number" class="inner_text">Type Number</label>
 <input name="type_number" type="text" class="false" id="type_number" />
<input type="button" id="Confirm" value="Confirm" />
 </form>

而这个JavaScript:

 document.getElementById('Confirm').onclick = function () {

    var letter = document.getElementById("type_number").value.match(document.getElementById("Type").value);
    if (letter !== null) {
        letter = letter[0].toLowerCase();
        this.value = letter + this.value.substring(1);
    }
    else {
    alert('Number is not correct!');
    }
  }

验证工作正常,但没有提交,但写了一个好的答案后,“确认”被重命名为“ 1onfirm”,只有这种情况才会发生。

还要检查jsfiddle: http : //jsfiddle.net/focusoft/hSmFS/1/

谢谢。

可以使用javascript函数提交表单,也可以更改确认按钮类型以提交。

更改您的JavaScript函数

document.getElementById('Confirm').onclick = function () {

    var letter = document.getElementById("type_number").value.match(document.getElementById("Type").value);
    if (letter !== null) {
        letter = letter[0].toLowerCase();
        this.value = letter + this.value.substring(1);
        document.forms[0].submit();
    }
    else {
    alert('Number is not correct!');
    }
  }

更改此:

<input type="button" id="Confirm" value="Confirm" />

为了这:

<input type="submit" id="Confirm" value="Confirm" />

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM