如何从javascript函数在jQuery Mobile中打开一个新页面
How to open a new page in jQuery Mobile from javascript function
我有一个按钮在我的html表单。当我在textfield
中输入值时,会执行后台操作并将数据发送给服务器。但是,由于这个按钮已经有一个事件(提交),我如何打开一个新的页面,一旦后台操作完成?
这是按钮。
<a href="#" id="submit" data-role="button" data-inline="true"> Submit</a>
在javascript中,我有这个函数
$(document).ready( function() {
$("#submit").bind('click', function(event){
doSomeBackgroundStuff();
});
这是从Page A
发生的,我希望Page B
在doSomeBackgroundStuff()
完成时打开。
因为这个按钮已经有一个事件(提交)
使用preventDefault或返回false:
$(document).ready( function() {
$("#submit").bind('click', function(event){
event.preventDefault(); //or just use : return false; at last
doSomeBackgroundStuff();
});
您有几个选择。
首先,使用已有的内容,您可以为绑定事件使用回调函数,并添加窗口。打开以加载新页面,并简单地传递一个url,或者硬编码它。
你的jquery看起来像这样:
$(document).ready( function() {
$("#submit").bind('click', function(event){
//fire AJAX request
doSomeBackgroundStuff();
},function(){//call back function
window.open('http://www.yourURL.com');
});//end bind
});//end doc ready
这是对窗口的进一步阅读。如何使用jQuery打开一个新的HTML页面?
第二个选择是使用AJAX。您将为新页面设置一个AJAX请求,并使用$。ajaxSend和$。ajaxComplete在请求之前和之后触发函数。
你的jquery看起来像这样:
//on button click
$('#submit').click(function(){
doSomeBackgroundStuff();
});
//ajax start handler
$(document).ajaxStart(function(){
//do stuff before AJAX request
});
//ajax complete
$(document).ajaxComplete(function(){
//do stuff after AJAX request
});
一个有相似解决方案的相关问题。
全局AJAX处理程序
希望能有所帮助
相关文章:
- 在IE11中,点击next或back按钮,使用intro.js打开一个新页面
- 与node.js的get/post混淆,并试图创建一个新页面
- window.打开一个新页面,然后单击新页面中的链接 - JavaScript
- 一个提交按钮打开两个页面 - 一个新窗口中
- 打开一个新页面作为模式窗口
- 滚动到顶部,打开一个带有锚点的新页面
- 调用一个带有HTML字符串的web新页面,以在该窗口中呈现
- 在javascript中使用dblclick事件打开一个新页面
- 在Rails中更改选择值时加载一个新页面
- 重定向到一个没有框架的新页面
- 在JavaFX webview中加载一个新页面
- 在php中按下一个按钮打开一个新页面
- 如何在浏览器中从iframe中加载一个新页面?
- 在新页面上加载一个flash视频,它在上一页上的位置
- 自动加载一个新页面,只访问正文中的一个元素
- 在新窗口中打开一个新页面,打印并关闭它
- 在js中,我正在寻找一个具有可拖动节点的力导向图-单击节点打开新页面
- 页面加载效果-每个新页面从不同的方向滑动(…作为一个单页网站使用scrollTo)
- 在网站退出时打开一个新页面
- 如何从javascript函数在jQuery Mobile中打开一个新页面