Change Form input text name=""

D

dhughey

I am using

<script type="text/javascript">
function setAction(frm){
act = '';
for(x=0;x<frm.se.length;x++){
if(frm.se[x].checked){
act = frm.se[x].value;
}
}
if(act == 'MINE'){
frm.action = 'MYSEARCHENGINE.HTML';
}
else if(act == 'OTHER'){
frm.action = 'OTHERSEARCHENGINE.HTML';
}
else{
alert('Please choose an option');
return false;
}
}
</script>

to change the intended search engine with radio buttons.
That works well, however...
I also need to change the name="" of an <input type=text base on which
radio button is chosen.
The two searches require different names for that field.

Can someone please help me with this, or have a working example of one
text input field being submited to a choice of search engines.

Thank you very much in advance.
Devin
 
A

ASM

(e-mail address removed) a écrit :
That works well, however...
I also need to change the name="" of an <input type=text base on which
radio button is chosen.
The two searches require different names for that field.

<script type="text/javascript">
function setAction(frm){
act = '';
for(x=0;x<frm.se.length;x++){
if(frm.se[x].checked){
act = frm.se[x].value;
}
}
if(act == 'MINE'){
frm.action = 'MYSEARCHENGINE.HTML';
frm[0].name = 'search';
}
else if(act == 'OTHER'){
frm.action = 'OTHERSEARCHENGINE.HTML';
frm[0].name = 'find';
}
else{
alert('Please choose an option');
return false;
}
return true;
}
</script>

<form action="" onsubmit="return setAction(this)">
<input type=text value="Your search" onclick="this.value=''"> with
MYSEARCHENGINE: <input type=radio name="se" value="MINE"> or
OTHERSEARCHENGINE: <input type=radio name="se" value="OTHER">
<input type=submit value="GO">
</form>
 
D

dhughey

Thank you for your quick response, but I'm afraid I may not have been
clear.

It is the <input type=text name="THISNAME" that I need to change based
on the radio selection.
 
D

dhughey

To Be More Clear, here is all of the code I am using. See
CHANGE_WITH_RADIO_SELECTION to see what I need to change with radio
selection.

Thanks again
Devin

<script type="text/javascript">
function setAction(frm){
act = '';
for(x=0;x<frm.se.length;x++){
if(frm.se[x].checked){
act = frm.se[x].value;
}
}
if(act == 'MINE'){
frm.action = 'MYSEARCH';

}
else if(act == 'OTHER'){
frm.action = 'OTHERSEARCH';

}
else{
alert('Please choose an option');
return false;
}
}
</script>
<form action="" onsubmit="return setAction(this)">
<input type=text value="Your Search"
name="CHANGE_WITH_RADIO_SELECTION">
My Search
<input type=radio name="se" value="MINE">
Other Search
<input type=radio name="se" value="OTHER">
<input type=submit value="GO">
</form>
 
A

ASM

(e-mail address removed) a écrit :
Thank you for your quick response, but I'm afraid I may not have been
clear.

It is the <input type=text name="THISNAME" that I need to change based
on the radio selection.

its name have no importance.
function catches this element by its index in the form frm collection

in previous example
<input type=text name="THISNAME"
has to be the first element after opening tag 'form'

<form action="" onsubmit="return setAction(this)">
<input type=text name="THISNAME" value="Your search"
onclick="this.value=''"> with
MYSEARCHENGINE: <input type=radio name="se" value="MINE"> or
OTHERSEARCHENGINE: <input type=radio name="se" value="OTHER">
<input type=submit value="GO">
</form>
 
A

ASM

(e-mail address removed) a écrit :
To Be More Clear, here is all of the code I am using. See
CHANGE_WITH_RADIO_SELECTION to see what I need to change with radio
selection.

what are new names ?
here, in this example,
they'll be 'search' for mine and 'find' for other

<script type="text/javascript">
function setAction(frm){
act = '';
for(x=0;x<frm.se.length;x++){
if(frm.se[x].checked){
act = frm.se[x].value;
}
}
if(act == 'MINE'){
frm.action = 'MYSEARCHENGINE.HTML';
frm[0].name = 'search';
}
else if(act == 'OTHER'){
frm.action = 'OTHERSEARCHENGINE.HTML';
frm[0].name = 'find';
}
else{
alert('Please choose an option');
return false;
}
return true;
}
</script>
<form action="" onsubmit="return setAction(this)">
<input type=text value="Your Search"
name="CHANGE_WITH_RADIO_SELECTION">
My Search
<input type=radio name="se" value="MINE">
Other Search
<input type=radio name="se" value="OTHER">
<input type=submit value="GO">
</form>


Tested in Fx
 
R

Randy Webb

(e-mail address removed) said the following on 5/11/2006 11:27 AM:
To Be More Clear, here is all of the code I am using. See
CHANGE_WITH_RADIO_SELECTION to see what I need to change with radio
selection.

document.forms['formID'].elements['oldNameHere'].name = "newNameHere";
 
D

dhughey

I'm very sorry. I do not want to change the Form Name, I want to change
the

<input type=text name="THIS"

The two searches that I am using require this text field to have
different names.
 
D

dhughey

I Got it now, thank you. I missed the part where you said the text name
should be first after tag.

Thank you very much
 
R

Randy Webb

(e-mail address removed) said the following on 5/11/2006 11:49 AM:
I'm very sorry. I do not want to change the Form Name, I want to change
the

<input type=text name="THIS"

The two searches that I am using require this text field to have
different names.

Answer: They typically post without quoting.

I would give you the question but I would have to quote it first.
 
A

ASM

Randy Webb a écrit :
(e-mail address removed) said the following on 5/11/2006 11:27 AM:
To Be More Clear, here is all of the code I am using. See
CHANGE_WITH_RADIO_SELECTION to see what I need to change with radio
selection.


document.forms['formID'].elements['oldNameHere'].name = "newNameHere";

and nextime ?
how to call back oldNameHere ?
(supposing location in a frame or other window)
 
A

ASM

(e-mail address removed) a écrit :
I'm very sorry. I do not want to change the Form Name, I want to change
the

<input type=text name="THIS"

The two searches that I am using require this text field to have
different names.


EXACTELLY what that do !
Did you try it ?
 
D

dhughey

I'm very sorry. I do not want to change the Form Name, I want to change
<input type=text name="THIS"
The two searches that I am using require this text field to have
different names.

EXACTELLY what that do !
Did you try it ?

Yes, I have it now, I am sorry. I missed your post about having the
text field name first and that did the trick.

You have been very helpful to me and I truley appreciate it.

I am sorry to those of you who are upset about the Non-Quoting. I am
using google temporarily as I do not have a news reader installed on
this maching and it does not quote by default.

Thank you very much.
Devin
 
R

Randy Webb

ASM said the following on 5/11/2006 12:02 PM:
Randy Webb a écrit :
(e-mail address removed) said the following on 5/11/2006 11:27 AM:
To Be More Clear, here is all of the code I am using. See
CHANGE_WITH_RADIO_SELECTION to see what I need to change with radio
selection.


document.forms['formID'].elements['oldNameHere'].name = "newNameHere";

and nextime ?
how to call back oldNameHere ?
(supposing location in a frame or other window)

Then you can check the state of the Radio buttons to determine what the
name of the text input is. Or, you could save a reference to it. Or, you
could use the form index (as you did).

Yours suffers drawbacks as well if the author inadvertently adds a new
input before the desired one.

They both suffer, it is just a matter of which way you want to try to
protect yourself.

The simplest solution to it all is to simply hard code both fields that
are needed for the search engines and then use script to duplicate data.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,432
Messages
2,571,680
Members
48,796
Latest member
Greg L.

Latest Threads

Top