如何使一个函数只适用于第一个onload?

时间:2010-11-18 11:43:46

标签: php javascript mysql html forms

我有一个分类广告网站,当用户第一次进入网站时,表格会在body onload事件中提交:

表单已提交,并在同一页面的iframe中显示其结果。

问题是我不希望每次用户在浏览器中单击后退或前进时调用submit_form()函数,那么在使用后退/前进按钮时如何阻止浏览器提交它?

示例:

用户进入网站时提交表单 表单在iframe中显示搜索结果
用户单击其中一个结果并显示新页面
用户点击后退按钮再次转到搜索结果
用户发现表单已再次重新提交,因为正文onload触发器

我该如何解决这个问题?

由于

2 个答案:

答案 0 :(得分:4)

仅客户端解决方案:设置cookie

答案 1 :(得分:0)

你用php标记了这个问题所以我认为使用服务器端会话更好

  • 启动会话,初始化会话varto 0

用户进入网站时提交表单。

  • 如果会话var == 0则显示结果

表单在iframe中显示搜索结果

  • 将session var设置为1

用户点击其中一个结果,系统会显示新页面 用户点击后退按钮再次转到搜索结果

  • 这不会发生:

用户发现表单已再次重新提交,因为正文onload触发器