【问题标题】:How to rewrite and submit form at same time如何同时重写和提交表单
【发布时间】:2023-03-10 07:15:01
【问题描述】:

有一个表单,我想同时提交和重写 url。我可以通过在表单中​​添加onsubmit="rewrite_form(event);" 选项来更改网址:

function rewrite_form(e) {    
  var form = document.forms[0];   // .getElementById("form1");
  window.location = '/search/' + form.f.value + '_' + form.t.value + '.htm/' + form.amt_from.value;            
  if (e && e.preventDefault) { e.preventDefault(); }
  return false;
}

Url 发生变化,但表单的其他值未发布到 url 生成的页面。

【问题讨论】:

  • 你可以使用jQuery.clone来创建一个表单的深拷贝

标签: javascript forms post url-rewriting


【解决方案1】:

只需更改表单的 action 属性即可。

function rewrite_form(e) {
    var form = documen.forms[0];

    form.action = 'newurl';
    //rest of code, make sure not to call e.preventDefault(); or return false
    //because the form will not get submitted
}

【讨论】:

  • 我更改了 form.action 但不起作用我的脚本中是否有任何错误: function rewrite_form(e) { var form = document.getElementById("form1"); window.location = '/travel/search/' + form.from.value + 'to' + form.to.value + '.html/'; var u = '/travel/search/' + form.from.value + 'to' + form.to.value + '.html/'; form.action = window.location.u; if (e && e.preventDefault) { e.preventDefault(); } 返回假; }
【解决方案2】:

我得到了解决方案:

    function rewrite_form() {
//Create custom link here
----------------------------
----------------------------------
//create form submit action
var url = '/search/' +'your custom link';
document.getElementById('FormId').action = url;
document.FormId.submit();
}

【讨论】:

  • 是的,这正是我给你的解决方案……改变表单的动作。现在,如果您在其余代码中有错误,您应该指定它。
猜你喜欢
  • 2013-02-16
  • 1970-01-01
  • 2011-11-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-12
  • 2021-02-10
  • 1970-01-01
相关资源
最近更新 更多