标签: back-button

如何处理表单提交ASP.NET MVC后退按钮?

我有一个表单,允许用户键入数据,然后提交.如果一切都在这个动作结果上运行良好,那么我会将用户重定向回感谢页面.

我现在的问题是,当用户点击后退按钮时,他们将能够返回到表单页面,输入仍然存在.

如果用户再次点击提交,我将获得一些潜在的奇怪错误.

那么就asp.net mvc而言,处理点击后退按钮的用户的最佳方法是什么?

谢谢!

asp.net asp.net-mvc back-button

5
推荐指数
2
解决办法
6307
查看次数

在使用 onPopState 和 pushState 时,我应该使用什么 js 来处理后退按钮的点击

我正在使用 pushState 更改网站的网址:

history.pushState("", "info", "/info");
Run Code Online (Sandbox Code Playgroud)

这很好用,但现在后退按钮不起作用。我相信我需要使用 onPopState 编写自己的后退和前进按钮行为,该行为通过历史堆栈并呈现适当的页面。诀窍是,当“后退”为空时,它应该执行后退按钮通常会做的事情(在用户进入我的网站之前“返回”到页面)。

这似乎是非常标准的行为,是否有我可以使用的配方/一些标准代码?

html javascript back-button pushstate

5
推荐指数
1
解决办法
6524
查看次数

自定义后退按钮出现在UIImagePickerController上

我使用以下代码在我的应用程序中自定义导航栏上的后退按钮:

UIImage *backButton = [[UIImage imageNamed:@"backButton"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)];
UIImage *backButtonOn = [[UIImage imageNamed:@"backButton_on"] resizableImageWithCapInsets:UIEdgeInsetsMake(0, 0, 0, 0)];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:backButton
                                                  forState:UIControlStateNormal
                                                barMetrics:UIBarMetricsDefault];
[[UIBarButtonItem appearance] setBackButtonBackgroundImage:backButtonOn
                                                  forState:UIControlStateHighlighted
                                                barMetrics:UIBarMetricsDefault];
Run Code Online (Sandbox Code Playgroud)

它工作得很好,除非我呈现UIImagePickerController并在照片库中输入相册,后退按钮也是自定义后退按钮.如何取回图像选择器中的原始后退按钮?

back-button uinavigationbar ios uiappearance

5
推荐指数
2
解决办法
2656
查看次数

window.onbeforeunload在IE中触发部分回发事件

如果他们在文本框中输入了某些内容,我想在浏览器的刷新或按下按钮时警告用户.所以我使用了window.onbeforeunload函数来做到这一点.

window.onbeforeunload = function () {
    if (if user hasn't entered any thing) {
        return;
    }
    return 'Entered data will be lost.';
};
Run Code Online (Sandbox Code Playgroud)

这个javascript代码在Firefox和Chrome中运行良好.但在IE中,此功能会触发部分回发的按钮.在IE中克服这个问题的任何解决方案?谢谢 :)

  • 这是因为IE中的Bug

javascript jquery internet-explorer back-button onbeforeunload

5
推荐指数
1
解决办法
5069
查看次数

在javascript/jquery中检测浏览器后退按钮而不使用任何外部插件

我想在不使用任何外部插件的情况下检测java-script/jquery中的浏览器后退按钮.

我将支持以下浏览器

IE8,IE9,火狐,Chrome

我搜索了这么多链接,并在代码项目下面找到了部分代码

<body onbeforeunload=”HandleBackFunctionality()”>

function HandleBackFunctionality()
{
    if(window.event)
   {
        if(window.event.clientX < 40 && window.event.clientY < 0)
        {
            alert("Browser back button is clicked...");
        }
        else
        {
            alert("Browser refresh button is clicked...");
        }
    }
    else
    {
        if(event.currentTarget.performance.navigation.type == 1)
        {
             alert("Browser refresh button is clicked...");
        }
        if(event.currentTarget.performance.navigation.type == 2)
        {
             alert("Browser back button is clicked...");
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

上面的代码工作正常的IE浏览器.这意味着我可以在IE浏览器中获取window.event.clientX和clientY值.但在chrome/firefox中无法正常工作.

单击浏览器后退按钮时,我需要刷新页面.

如何在所有浏览器中检测浏览器后退按钮点击事件(IE,Firefox,Chrome)

任何帮助,将不胜感激.

html javascript jquery internet-explorer back-button

5
推荐指数
1
解决办法
3万
查看次数

应用程序在导航抽屉内的片段内按下后退按钮时退出

当我尝试从子片段移动到父片段时,我的应用程序退出(它不会崩溃)。这里 LandingActivity.java 是我调用片段 ChannelGrid.java 的主要活动,它调用片段 GridMain.java。当我按下后退按钮时片段 GridMain 应用程序中的移动设备退出而不是移动到 ChannelGrid.java。我已将 addToBackStack("tag") 添加到片段并尝试使用 onKey()..我也在不同的设备上测试了我的应用程序..我检查了其他解决方案有同样的问题并尝试过,但没有任何效果..

导航抽屉-LandingActivity.java-ChaanelGrid.java(Fragment)-GridMain.java(Fragment)

登陆活动.java

   currentFragment = new ChaanelGrid();

                currentFragment.setArguments(args);
                frgManager = getFragmentManager();

                frgManager.beginTransaction().add(R.id.content_frame, currentFragment).addToBackStack("tag")
                        .commit();
Run Code Online (Sandbox Code Playgroud)

ChaanelGrid.java

Fragment currentFragment = new GridMain();



                    FragmentManager frgManager;
                    frgManager = getFragmentManager();
                    frgManager.beginTransaction().add(R.id.content_frame, currentFragment).addToBackStack("GridMain")
                            .commit()
Run Code Online (Sandbox Code Playgroud)

GridMain.java(我也试过没有 onKey() 方法,但没有奏效)

rootView.setOnKeyListener(new View.OnKeyListener() {


   @Override
        public boolean onKey(View v, int keyCode, KeyEvent event) {
            if (keyCode == KeyEvent.KEYCODE_BACK)
            {
                Fragment currentFragment = new ChaanelGrid();


                FragmentManager frgManager;
                frgManager = getFragmentManager();
                frgManager.beginTransaction().replace(R.id.content_frame, currentFragment)
                        .commit();
                return true;
            }
Run Code Online (Sandbox Code Playgroud)

logcat 详细

   10-31 21:46:57.954 …
Run Code Online (Sandbox Code Playgroud)

android back-button android-fragments

5
推荐指数
1
解决办法
6146
查看次数

在iOS 9中,Segue Back按钮消失了

在iOS 9发布之前,我开发了一款面向iOS 8.4的应用.我UITableView通过segue of kind"Show(例如Push)" 使用了一些相互连接.它与正确的行为完美配合:每次我从一个切换UITableView到另一个时,后退按钮出现,所以用户可以回到前一个场景; 后退按钮也出现UITableViewUIViewController,使用相同类型的segue.

现在,我已经升级到Xcode的最新版本,并针对应用到iOS 9.0,我得到了这个问题:现在,如果我走的时候UITableView到另一个UITableView,后退按钮不会出现了,但如果我走的时候UITableViewUIViewController,背按钮出现.我见过其他开发人员遇到了类似的问题(你可以在这里,这里这里看到),但我不明白他们是如何解决的(除了第三个链接,但这不是我的情况).任何人都知道如何让按钮再次工作?提前致谢

在此输入图像描述

objective-c back-button uitableview ios segue

5
推荐指数
1
解决办法
1203
查看次数

在重新创建()后onBackPressed不调用

问题描述:

我的应用程序有主要活动和设置活动.每次关闭设置活动后,主活动都会重新创建.

可以通过finish()在两个位置关闭主活动(应用程序退出):操作栏中的主页按钮和后退按钮(硬件或弹出栏).

Home按钮工作没有问题,Back按钮在开始时工作,但如果用户在Settings Activity中,关闭它并返回到Main Activity,onBackPressed()函数不再被调用.

如果我删除娱乐,后退按钮工作正常,就像主页按钮一样.

所以,如果有人知道为什么重新创建()弄乱Back按钮?

谢谢.

部分相关代码:

主要活动:

@Override
public boolean onOptionsItemSelected(MenuItem item) {

    switch (item.getItemId()) {

        // Open Settings Activity
        case R.id.menuSettings:

            Intent intent = new Intent(this, SettingsActivity.class);
            startActivityForResult(intent, REQUEST_SETTINGS);

            return true;

        // Close the App
        case android.R.id.home:

            finish();

            return true;

        default:
            return super.onOptionsItemSelected(item);
    }
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    if (resultCode != RESULT_OK) {

        return;
    }

    switch (requestCode) {

        case REQUEST_SETTINGS:

            // Recreate activity
            recreate();

            break; …
Run Code Online (Sandbox Code Playgroud)

android back-button recreate onbackpressed

5
推荐指数
1
解决办法
485
查看次数

UINavigationController的setViewControllers在IOS10中添加后退按钮

注意到的奇怪的事情:当您使用setViewControllers:animated替换UINavigationController中的视图控制器堆栈时:动画过程中将显示后退按钮,动画完成后该按钮将消失。仅在iOS10(设备和模拟器)中找到,iOS8和9可以正常工作(无后退按钮)。有人遇到过这个问题吗?

back-button uinavigationcontroller ios10

5
推荐指数
1
解决办法
333
查看次数

按下后退按钮后防止表单重新提交

我在这里有点微妙的情况.在我的组织中,我们设计库存管理系统,它是一个基于JSP页面和servlet的Web应用程序,用于处理它们.

我被要求解决一个具体问题.我们有一个带有HTML表单的JSP页面,其中有库存详细信息.当用户手动输入详细信息并提交表单时,库存详细信息在数据库中更新,并且工作正常.

问题是这样的:当用户按下浏览器的后退按钮时,用户可以转到他提交详细信息的上一页.当用户提交此数据时,数据会再次保存到数据库中.我需要防止这种行为.(清楚并重新加载页面的东西.)

到目前为止我做的事情:清除浏览器缓存.Code工作正常但不是预期的结果.

遗憾的是,由于公司规定,我无法分享代码.我需要的是帮助防止这种行为或解决方法.

提前致谢..

java browser servlets back-button form-submit

5
推荐指数
1
解决办法
4826
查看次数