如何使用JavaScript来更改表单操作

enj*_*ife 34 html javascript forms

我目前的代码如下:

<div class="fr_search">   
  <form action="/"  accept-charset="UTF-8" method="post" id="search-theme-form">
  .......
  </form>
</div>
Run Code Online (Sandbox Code Playgroud)

现在我想编写一个函数来在满足条件时更改表单操作和方法.我该如何编写这段代码?

例如,

function test() {
   if (selectedIndex === 1)....
} // How do I write this code?
Run Code Online (Sandbox Code Playgroud)

ben*_*siu 41

function chgAction( action_name )
{
    if( action_name=="aaa" ) {
        document.search-theme-form.action = "/AAA";
    }
    else if( action_name=="bbb" ) {
        document.search-theme-form.action = "/BBB";
    }
    else if( action_name=="ccc" ) {
        document.search-theme-form.action = "/CCC";
    }
}
Run Code Online (Sandbox Code Playgroud)

name这种情况需要你的表格

<form action="/"  accept-charset="UTF-8" method="post" name="search-theme-form" id="search-theme-form">
Run Code Online (Sandbox Code Playgroud)

  • 我认为你的意思是`document ['search-theme-form']`,`document.search-theme-form`实际上并不起作用. (5认同)

i10*_*100 23

试试这个:

var frm = document.getElementById('search-theme-form') || null;
if(frm) {
   frm.action = 'whatever_you_need.ext' 
}
Run Code Online (Sandbox Code Playgroud)


Tej*_*ejs 8

如果您使用的是 jQuery,它就像这样简单:

$('form').attr('action', 'myNewActionTarget.html');
Run Code Online (Sandbox Code Playgroud)

  • @enjoylife `$('#myFormId').attr('action', 'myNewActionTarget.html');` (11认同)
  • 请记住,这将更改页面上的所有表单。 (8认同)
  • 如果我想使用jquery,如何编写不改变其他形式的代码。 (2认同)