`
snail_gtt
  • 浏览: 48183 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

解决刷新页面造成的Form重复提交触发监听方法

阅读更多
 @InjectObject("engine-service:page")
  public abstract IEngineService getPageService();
  
  public ILink doFormSubmit()
  {
    // ... write data to a database
    
    setMessage("Your changes have been saved.");
    
    return getPageService().getLink(false, getPageName());
  }   
分享到:
评论
3 楼 jirabotuo 2008-12-17  
楼主能不能说详细一点呢?

我现在用的是Tapestry4.1。

刷新当前页面,怎样避免重复提交表单呢?

2 楼 snail_gtt 2007-09-04  
direct service最本质的目的就是触发组件所绑定的监听方法
比较一下direct service和page/external service的URL就会发现:
http://127.0.0.1:8080/app?page=Shop&service=page

http://127.0.0.1:8080/app?component=buyFruitLink&page=Shop&service=direct

使用direct service提交方法后的URL中标明了service=direct,当刷新页面的时候, Tapestry的servlet会触发direct service, 这样就造成了重复提交. 返回page/external service的URL后再次刷新时触发的就是page/external service, 这样就不会造成重复提交. 看下tapestry的各种service的介绍就大概知道了.
1 楼 wlqswp 2007-09-01  
能不能解释一下为什么把在direct service提交方法中返回一个page 或 external service 的URL就可以解决这个问题,谢谢!

相关推荐

    防止Layui form表单重复提交的实现方法

    在使用Layui设计表单时,经常会遇到表单提交后页面刷新导致的重复提交问题。为了解决这个问题,开发者需要确保表单只提交一次,防止不必要的数据重复处理或者服务器的重复计算。下面详细解释几种防止Layui表单重复...

    layui form表单提交后实现自动刷新

    2. 在事件监听函数中,使用event.preventDefault()方法阻止表单的默认提交行为,以避免页面刷新。 3. 确保表单内的元素拥有name属性,这是后端接收数据所必须的。 4. 为表单元素添加“layui-form”类,确保layui能够...

    form表单的异步回调方法

    2. **阻止默认行为(Preventing Default Behavior)**:为了阻止表单提交导致的页面刷新,可以监听表单的`submit`事件,并在事件处理函数中调用`event.preventDefault()`。这样,表单数据会被收集,但不会进行实际的...

    如何防止INPUT按回车自动提交表单FORM

    在网页设计中,表单(`<form>`)是用户与服务器进行交互的重要元素,而输入框(`<input>`)则是用户输入数据的主要界面组件。然而,浏览器默认的行为是,当用户在单个输入框中按下回车键时,会触发表单的提交事件。...

    jquery异步提交form表单

    jQuery的`$.ajax()`函数或`.submit()`配合`.ajaxSubmit()`方法为我们提供了异步提交表单的能力,保持页面不刷新,提高交互体验。 首先,我们来看一下`jquery.form.js`这个文件。这是jQuery Form Plugin的一个核心...

    layui 解决form表单点击无反应的问题

    当我们遇到使用layui框架开发的Web页面中form表单点击无反应的问题时,可以通过特定的解决方法来修复此问题。Layui是一个前端UI框架,它提供了一套简洁的CSS和JS代码模块,用以快速构建界面和交互效果。Layui的模块...

    ThickBox关闭层自动刷新和页面数据提交冲突问题

    可以通过监听表单提交的回调函数,确保服务器响应后再进行页面刷新。 ```javascript // 假设使用jQuery $("#formId").submit(function(event) { event.preventDefault(); // 阻止默认提交行为 $(this)....

    解决vue+element 键盘回车事件导致页面刷新的问题

    在使用Vue.js结合Element UI开发Web应用时,我们可能会遇到一个常见问题:在表单中通过键盘回车键触发输入事件后,页面发生刷新。这个问题通常是由于W3C标准中关于表单的默认提交行为导致的。在标准中提到,当一个...

    jquery_form_js 表单提交自定义源码

    jQuery Form插件是基于jQuery库的一个扩展,它允许开发者使用Ajax技术实现异步表单提交,从而提升用户体验,避免页面刷新。此外,它还支持多种提交方式,如POST、GET、PUT、DELETE等,并且可以处理文件上传。这个...

    Jquery基于Ajax方法自定义无刷新提交表单Form实例

    在Web开发中,传统表单提交会导致页面刷新,这在用户体验上并不友好。随着AJAX技术的发展,可以实现无刷新提交表单,即页面不会因为数据提交而重新加载。jQuery库简化了AJAX操作,提供了$.ajax方法,可以实现异步的...

    弹出层表单提交数据完美解决

    - **显示/隐藏**:使用JavaScript的`addEventListener`方法监听触发弹出层的按钮点击事件,然后改变弹出层的显示状态。 - **数据验证**:在用户点击提交按钮之前,执行表单验证。这可能包括非空检查、格式验证(如...

    php无刷新提交表单

    无刷新提交是指用户在网页上操作时(例如提交表单),页面无需进行完整的刷新就能完成数据的提交并显示结果的一种技术。这种技术能显著提升用户体验,减少用户等待时间,并保持页面当前的状态不被破坏。 在实际应用...

    ajaxForm插件

    AjaxForm插件基于jQuery库,它监听表单的submit事件,当用户点击提交按钮时,不刷新整个页面,而是通过AJAX方式将表单数据发送到服务器。这样,用户可以继续在当前页面操作,而无需等待页面重载,提高了交互的流畅性...

    刷新页面时防止触发按钮单击事件

    标题"刷新页面时防止触发按钮单击事件"直指这一问题的核心,下面我们将深入探讨几种解决方法: 1. **使用PostBackUrl属性**:在ASP.NET中,为按钮控件设置`PostBackUrl`属性可以指定一个不同的URL,这样点击按钮时...

    VB_检测WebBrowser网页_刷新_加载_变更_关闭

    但是,如果用户手动刷新网页,我们需要监听`Navigating`事件,因为`DocumentCompleted`在刷新后并不会再次立即触发。当`Navigating`事件发生时,你可以检查导航的URL是否与当前URL相同,从而判断是否是用户执行了...

    jquery提交form表单

    2. **Ajax提交**:jQuery的`$.ajax()`函数允许我们进行异步提交,这样可以在不刷新页面的情况下发送数据。下面是一个简单的例子: ```javascript $('form').on('submit', function(event) { event.preventDefault...

    iframe实现无刷新上传下载

    JQuery可以通过`change`事件监听这个元素,获取选中的文件信息,然后通过Ajax或者利用IFrame的`form`提交方式,将文件数据发送到服务器。 在描述中提到,该项目是基于VS2010开发的,这意味着使用的是.NET Framework...

    fileupload页面跳转找不到原页面的解决方法

    对于Ajax上传,前端需要监听文件上传的进度和结果,当上传成功后,根据业务需求决定是否需要手动触发页面跳转。使用`XMLHttpRequest`或`fetch` API,可以在上传完成后调用`then`或`done`方法执行回调,此时可以进行...

    iframe实现异步无刷新提交

    在网页开发中,异步无刷新提交是一种提升用户体验的重要技术,它使得用户在提交表单或执行某些操作时,无需等待整个页面刷新,而是仅更新部分网页内容。本主题聚焦于利用`iframe`来实现这一功能,这在不支持现代Ajax...

Global site tag (gtag.js) - Google Analytics