作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这看起来应该很简单,但它不起作用。我正在做的是获取旧的操作,在末尾添加一个 ID,然后将表单操作设置为该 ID。代码如下:
var action = $('#update-schedule-form').attr('action');
$('#update-schedule-form').attr('action', action + '/1');
我可以看到表单的操作在 FireBug 和 Chrome 的检查器中发生了变化。但是,当我单击提交按钮时,它仍然将其发送到原始操作。例如,它在代码中显示“/controller/action/1”,但提交到“/controller/action”。有什么想法吗?
更新
事实证明,我正在使用的框架 Yii 存储了其 ajax 验证例程的原始表单操作地址。我没有看到 Firebug 中提交的表单,而是看到验证尝试在提交之前验证表单。我不知道 Yii 在哪里存储它使用的 URL 或如何更改它(应该使用表单操作,但显然不是),所以我只是修改了我的 Controller 并将 ID 参数设置为可选。现在验证运行顺利并且表单正确提交。
最佳答案
也许您应该尝试使用 prop
而不是 attr
。
var action = $('#update-schedule-form').prop('action');
$('#update-schedule-form').prop('action', action + '/1');
检查此答案 .prop() vs .attr()
关于php - 通过 jQuery 更改操作后,表单提交到旧操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18710216/
我是一名优秀的程序员,十分优秀!