【问题标题】:Cancel Submit button and do JS Code取消提交按钮并执行 JS 代码
【发布时间】:2011-07-23 16:55:15
【问题描述】:

我的表格很简单:

            <form id="loginform" name="loginform" action="" method="post">
            <div data-role="fieldcontain">
                <label for="login">Login:</label>
                <input type="text" name="login" id="login" value="" />
            </div>
            <div data-role="fieldcontain">
                <label for="password">Password:</label>
                <input type="password" name="password" id="password" value="" />
            </div>
            <div class="ui-body">
                <fieldset class="ui-grid-a">
                    <div class="ui-block-a"><button type="button" class="exitapp">Close</button></div>
                    <div class="ui-block-b"><button type="submit" id="elogin" onclick="return false;">Login</button></div>
                </fieldset>
    </div>
        </form>

还有一些 jQuery Mobile 中的代码。如果在 Firefox 表单中按 Enter 按钮不是提交 - 这很好,但在 Android Emulator 中它是提交并且它不能使用我的 JS 代码:( 如何修复这个?

【问题讨论】:

  • 如果您发布您正在谈论的代码,这将是最有帮助的。

标签: javascript jquery jquery-mobile forms


【解决方案1】:
$("form").submit(function(){
    //do your js code
    return false;
});

【讨论】:

  • 它运行良好,但仅适用于桌面浏览器,不适用于 android 模拟器。我找到了诀窍:在 FORM 动作中,我们必须使用一些 JS 函数,例如。动作="javascript:elogin();"在我的应用上,我只使用 JS - 没有这个,我的应用无法运行 = 我不需要正常的表单操作。
【解决方案2】:

我发现这可以工作,但我总是在我的 Android 设备而不是模拟器上进行测试...:

...
函数 ckeck_form() { ... 如果(错误===真){ 返回假; } 别的 { 返回真; } }

【讨论】:

    【解决方案3】:
    $('#loginform').submit(function(e) {
        e.preventDefault();
    });
    

    有关preventDefault() 的更多信息,请参阅MDN

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-05-16
      • 2014-10-19
      • 2013-02-18
      • 1970-01-01
      • 2014-06-12
      • 1970-01-01
      • 2012-01-24
      • 1970-01-01
      相关资源
      最近更新 更多