Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
禁用';go';Android中的按钮表单提交_Android_Asp.net_Html_Jquery Mobile - Fatal编程技术网

禁用';go';Android中的按钮表单提交

禁用';go';Android中的按钮表单提交,android,asp.net,html,jquery-mobile,Android,Asp.net,Html,Jquery Mobile,我几乎已经使用jQuery Mobile完成了一个ASP.NET webforms网站。我被一个特定的用例卡住了 该网站的范围是支持Android、iPhone、BlackBerry和Windows Mobile。除了一个特定的用例外,所有的功能都非常好 这种情况是用户在其中一个输入框中输入值,然后点击本机的Go/Enter键。我捕获了这一点,并使用jquery抛出相应的事件提交按钮click/tap function BindSubmit(textbox, button) { $(te

我几乎已经使用jQuery Mobile完成了一个ASP.NET webforms网站。我被一个特定的用例卡住了

该网站的范围是支持Android、iPhone、BlackBerry和Windows Mobile。除了一个特定的用例外,所有的功能都非常好

这种情况是用户在其中一个输入框中输入值,然后点击本机的Go/Enter键。我捕获了这一点,并使用jquery抛出相应的事件提交按钮click/tap

function BindSubmit(textbox, button) {
    $(textbox).unbind().keypress(function (event) {
        var keyCode = event.keyCode ? event.keyCode : event.which ? event.which : event.charCode;
        if (keyCode == 13) {
            $(button).trigger('tap');
        }
    });
}
这在所有设备上都非常有效,只有一台是Android。手机最终会提交整个表单,而不是遵循用例。抓取onsubmit事件并返回false也不起作用。经过一番挖掘,我发现了这个

我希望一个标准的网络表单能够解决这个问题。谢谢。

试着运行
$(按钮)。触发器('click')
。这可能是一种更好、更跨平台的发送事件的方式

您应该尝试在Android手机上进行这样的测试,找出执行失败的时间和地点:

function BindSubmit(textbox, button) {
    console.log("BindSubmit()");
    $(textbox).unbind().keypress(function(event) {
        var keyCode = ...;
        console.log("Key pressed: " + keyCode + ", isEnter: " + keyCode == 13);
        if (keyCode == 13) {
            console.log("Enter key hit, triggering event.");
            ...;
        }
    });
}

如果您有它的链接,我很乐意在我的Nexus One上为您测试:)

谢谢您的帮助。我们解决这个问题的方法是绑定到form.submit事件并自己调用mobile.changePage()。然后在changePage()之后返回false;这阻止了完整表单提交,仍然允许jquery mobile完成其操作。

您是否尝试过触发
$(按钮)。触发('click')
,而不是“点击”?你有Android设备可以测试吗?您的代码正在执行吗?捕获事件并不是真正的问题。jquery mobile可以在不提交表单的情况下完成其操作并加载a href,表单返回Default.aspx。我要看看我是否可以设置一个JSFIDLE来测试,非常好,是的,我很乐意帮助。这允许键盘被删除吗?对不起,我没有那个代码了。关于键盘的问题,我认为只要你不把焦点放回到输入上,就可以不用点击go按钮了。