带有验证的表单不会在Mobile上提交

时间:2014-11-21 20:54:50

标签: jquery mobile

一直在尝试使用jquery和mobile,并发现我的表单验证在移动设备上的运行方式是95%(在桌面上很好)。我的意思是我的代码(下面)确实检查输入是否有值,如果没有则返回警报。如果他们都有价值,那么就提交。但是,当所有输入都有效时,我的提交按钮不起作用。

我认为可能是onsubmit ="返回false"在表单标签中,但删除它什么也没做。真的被这个难倒,并且会喜欢jquery专家的一些经验。 (我在网站上查看了其他问题,但似乎没有一个问题可以解决我的问题)

jquery代码如下,我把整个表单放在jsfiddle中。我想念的是什么,提前谢谢

http://jsfiddle.net/wgw3p9ee/1/

function vForm() {
$('#fSubmit').click(function () {
    if (0 === $('#fname').val().length) {
        alert('Please Enter Your First Name.');

    } else if (0 === $('#lname').val().length) {
        alert('Please Enter Your Last Name.');

    } else if (0 === $('#address').val().length) {
        alert('Please Enter Your Address.');

    } else if (0 === $('#city').val().length) {
        alert('Please Enter Your City.');

    } else if (0 === $('#mailState').val().length) {
        alert('Please Enter Your State.');

    } else if (0 === $('#zip').val().length) {
        alert('Please Enter Zipcode.');

    } else if (0 === $('#email').val().length) {
        alert('Please Enter Email.');

    } else if (0 === $('#phone').val().length) {
        alert('Please Enter Your Phone Number.');

    } else {
        $("form").submit();
    }
 });

}

1 个答案:

答案 0 :(得分:0)

我看到一些松散的结束标签。

   </h2>
    </div>
    <div class="liNav">
        <input type="button" value="SUBMIT" id="fSubmit" onclick="vForm();" />
</form>

您可以用以下代码替换这些行:

<div class="liNav">
    <input type="button" value="SUBMIT" id="fSubmit" onclick="vForm();" />
</div>

</form>

还有一个大问题:每次点击提交按钮,都会调用vForm()。每次单击提交按钮时,vForm()都会为提交按钮实例化一个单击处理程序 - 这就是您第一次单击提交时没有任何反应的原因。您只需要一个单击处理程序即可使工作正常,因此可以将function vform() {位与onclick元素的#fSubmit属性一起删除。

这是我的意思working JSFiddle example