我有一个带有两个提交按钮的表单:
<form>
...
<input type="submit" name="update" value="Update"></input>
<input type="submit" name="clean" value="Clean"></input>
</form>根据我点击的按钮,我必须做两件不同的事情。update将在内部结构中添加一些表单数据,而clean将清理表单和内部结构。
我遇到的问题是,我无法使用Evently/jQuery捕获这两个不同的事件。我可以处理表单/提交事件,但是没有得到关于哪个按钮被按下的信息(根据jQuery文档"No submit按钮值是序列化的,因为表单不是使用按钮提交的“)。
或者我尝试过捕捉update/click和clean/click事件,但是我没有成功地构建我的events目录树来捕捉它。这是我当前尝试捕获这些事件的结构:
evently/filterconf/_init/
evently/filterconf/_init/selectors/form
evently/filterconf/_init/selectors/form/clean
evently/filterconf/_init/selectors/form/clean/click.js
evently/filterconf/_init/selectors/form/update
evently/filterconf/_init/selectors/form/update/click.js
evently/filterconf/_init/mustache.html但是这些click.js并没有被触发。对如何解决这个问题有什么想法吗?或者,您是否有一个完全不同的方法来处理Evently中的这两个submit按钮?
发布于 2011-10-31 23:47:33
因为它只执行ajax调用,而不是通过POST提交整个表单,所以您甚至不需要将这些按钮作为提交按钮。只需这样做:
<button id="btn_update" value="Update"></button>
<button id="btn_clean" value="Clean"></button>并将事件文件夹的结构设置为:
evently/filterconf/_init
evently/filterconf/_init/selectors
evently/filterconf/_init/selectors/#btn_clean/
evently/filterconf/_init/selectors/#btn_clean/click.js
evently/filterconf/_init/selectors/#btn_update
evently/filterconf/_init/selectors/#btn_update/click.js或者,对于您的方法,它将类似于:
evently/filterconf/_init/selectors/form/submit.js
因此您应该附加提交事件,而不是单击事件。
提交处理程序应如下所示:
function() {
var form = $(this);
var doc = form.serializeObject();
// ...
}https://stackoverflow.com/questions/7955986
复制相似问题