Php 表单在通过jQuery更改操作后提交到旧操作
这看起来应该很简单,但它不起作用。我正在做的是获取旧操作,在末尾添加一个ID,并将表单操作设置为该ID。代码如下:Php 表单在通过jQuery更改操作后提交到旧操作,php,javascript,jquery,submit,form-submit,Php,Javascript,Jquery,Submit,Form Submit,这看起来应该很简单,但它不起作用。我正在做的是获取旧操作,在末尾添加一个ID,并将表单操作设置为该ID。代码如下: var action = $('#update-schedule-form').attr('action'); $('#update-schedule-form').attr('action', action + '/1'); 我可以在FireBug和Chrome的inspector中看到表单的动作发生了变化。但是,当我单击submit按钮时,它仍然会将其发送到原始操作。例如,它
var action = $('#update-schedule-form').attr('action');
$('#update-schedule-form').attr('action', action + '/1');
我可以在FireBug和Chrome的inspector中看到表单的动作发生了变化。但是,当我单击submit按钮时,它仍然会将其发送到原始操作。例如,它在代码中显示“/controller/action/1”,但提交给“/controller/action”。你知道这是怎么回事吗
更新
事实证明,我使用的框架Yii存储了ajax验证例程的原始表单操作地址。我没有在Firebug中看到表单提交,我看到的是在提交之前尝试验证表单的验证。我不知道Yii在哪里存储它使用的URL,也不知道如何更改它(应该使用form操作,但显然不是),所以我只是修改了我的控制器,并将ID参数设置为可选。现在验证运行良好,表单提交正确。也许您应该尝试使用
prop
而不是attr
var action = $('#update-schedule-form').prop('action');
$('#update-schedule-form').prop('action', action + '/1');
检查此答案是否有误。也许您应该尝试使用
prop
而不是attr
var action = $('#update-schedule-form').prop('action');
$('#update-schedule-form').prop('action', action + '/1');
检查此答案,了解您是通过jQuery还是使用submit html按钮提交表单?尝试另一种提交方式 另外,尝试以这种方式更新操作
var action = jQuery('#update-schedule-form').get(0).getAttribute("action");
jQuery('#update-schedule-form').get(0).setAttribute('action', action + '/1');
编辑:它可能是您的代码所在的位置,但如果没有错误,很难说,这可能不是问题所在。您是通过jQuery还是使用submit html按钮提交表单?尝试另一种提交方式 另外,尝试以这种方式更新操作
var action = jQuery('#update-schedule-form').get(0).getAttribute("action");
jQuery('#update-schedule-form').get(0).setAttribute('action', action + '/1');
编辑:它可能是您的代码所在的位置,但如果没有错误,很难判断,这可能不是问题所在。您的线路何时运行?提交?其他活动?你的队伍什么时候开始?提交?还有别的事吗?