faqts : Computers : Programming : Languages : JavaScript : Forms

+ Search
Add Entry AlertManage Folder Edit Entry Add page to http://del.icio.us/
Did You Find This Entry Useful?

33 of 38 people (87%) answered Yes
Recently 9 of 10 people (90%) answered Yes

Entry

How can I change the action attribute of the form tag base on which radio button is selected?

Jun 3rd, 2002 10:13
Luiz Paulo Rosa, Scott Wolff,


Try this:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="Luiz Paulo C. Rosa">
<SCRIPT LANGUAGE="JavaScript">
<!--
function Act(act)
	{
	document.frmTeste.action = act;
	alert(document.frmTeste.action);
	}
//-->
</SCRIPT>
</HEAD>
<BODY>
<FORM METHOD=POST name="frmTeste">
<INPUT TYPE="radio" NAME="rdoAction" value="Action1.htm" onClick="Act
(this.value)"> Action 1<BR>
<INPUT TYPE="radio" NAME="rdoAction" value="Action2.htm" onClick="Act
(this.value)"> Action 2<BR>
<INPUT TYPE="radio" NAME="rdoAction" value="Action3.htm" onClick="Act
(this.value)"> Action 3<BR>
</FORM>
</BODY>
</HTML>
In the case above, you can also use the 'rdoAction' array to know which 
radio button was selected:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="Luiz Paulo C. Rosa">
<SCRIPT LANGUAGE="JavaScript">
<!--
function Act(act)
	{
	for(var i=0;i<document.frmTeste.rdoAction.length;i++)
		{
		if(document.frmTeste.rdoAction[i].checked=='1')
	{document.frmTeste.action=document.frmTeste.rdoAction[i].value}
		}
	alert(document.frmTeste.action);
	}
//-->
</SCRIPT>
</HEAD>
<BODY>
<FORM METHOD=POST name="frmTeste" onSubmit="Act()">
<INPUT TYPE="radio" NAME="rdoAction" value="Action1.htm"> Action 1<BR>
<INPUT TYPE="radio" NAME="rdoAction" value="Action2.htm"> Action 2<BR>
<INPUT TYPE="radio" NAME="rdoAction" value="Action3.htm"> Action 3<BR> 
<BR>
<INPUT TYPE="submit">
</FORM>
</BODY>
</HTML>