我有以下问题...
我的应用程序使用 php、smarty 模板和 jQuery。
在 smarty 模板中定义了一个带有 POST 方法的表单。表单的action参数定义如下:
动作={if isset($search_place)} {link->somePhpFunction($search_place) {/if}
...因为我需要根据 POSTED 参数更改操作。
具有“search_place”名称的输入(文本)在表单内定义。
提交按钮链接到 jQuery 函数,因为我需要在客户端执行一些操作(值检查、自动完成等)。
单击按钮时,我需要
问题是当我通过jQuery按钮发布表单时,表单不会采取
单击按钮时,将调用 jQuery 处理程序,执行一些检查/更正,然后显示带有表单的页面。
问题是,在从表单定义 action 参数之前,search_place 变量是未知的,并且根本没有调用 php 函数。我还尝试在按钮处理程序中设置一个 cookie,并将表单操作设置为 {$smarty.cookies.search_place} 值,但问题变成了另一个问题 - 表单始终执行上一个按钮单击的操作,所以它需要两次单击按钮才能获得正确的结果。
还需要提到的是,由于 php 函数从数据库中的大表中选择了正确的参数,因此无法将所需的操作参数传递给 jQuery 事件处理程序。如果这是可能的,那么很容易从 jQuery 函数中更改 action 参数......
我知道的唯一方法是使用 AJAX 获取正确的参数并从按钮事件处理程序分配正确的操作参数,但这对我来说不是正确的解决方案,因为我的许多网站访问者都没有启用浏览器 javascipt。
解决方案也可以是(以编程方式)从 jQuery 事件处理程序中再单击一次按钮,但我不知道该怎么做......
任何帮助或想法如何解决这个问题将不胜感激......
先感谢您。果酱