Typ:
onchange="if (this.options[this.selectedIndex].value=='3') { location.href='annansida.htm'; } else { SkapaVal(this.selectedIndex); }"
Eller så kan du ju ändra funktionen SkapaVal, vad nu det är för något.
17 svar · 695 visningar · startad av G8
<SELECT NAME="huvud" OnChange="SkapaVal(this.selectedIndex);">
<OPTION VALUE="1">- Select category -</OPTION>
<OPTION VALUE="2">Alt1</OPTION>
<OPTION VALUE="3">Alt2</OPTION>
<OPTION VALUE="4">Alt3</OPTION>
</SELECT>
<SELECT NAME="helptype">
<OPTION VALUE="0">Select category first</OPTION>
</SELECT>
detta funkar fin fint, men jag vill nu att om man väljer alternativ 3 så ska den gå till en helt ny sida, men bara om man väljer alternativ 3 alltså... mao en annan onchange action i samma select... möjligt?
//G8
Typ:
onchange="if (this.options[this.selectedIndex].value=='3') { location.href='annansida.htm'; } else { SkapaVal(this.selectedIndex); }"
Eller så kan du ju ändra funktionen SkapaVal, vad nu det är för något.
super snabeln..
kan man få den att submitta formuläret?
liknande
onchange="if (this.options[this.selectedIndex].value=='3') { submit.form.formnamn.method='post' action='bytformulär.asp' } else { SkapaVal(this.selectedIndex); }"
eller liknande...?
Jo. Sätt action och target i form-taggen (är väl enklast). Sedan:
if (this.options[this.selectedIndex].value=='3') { this.form.submit(); } else { SkapaVal(this.selectedIndex); }"
Jo, problemet är att det redan ligger en action och target för formuläret i form-taggen.
situationen är så här:
Ett formulär med bl.a. en select där man väljer alternativ 1-3. Väljer man alt1-2 så får man en select till att välja underkategori men hela formuläret är kvar. bara select 2 som uppdateras med möjliga val beroende på om man valt alt1 eller 2.
Väljer man dock alt3 så vill jag att sidan laddas om för att visa ett annat formulär, men behåller den datat som har fyllts i för att kunna populera det nya formuläret...
Finns kanske något enklare sätt att göra det på?
Jo, problemet är att det redan ligger en action och target för formuläret i form-taggen.
Jamen säg det då. :)
if (this.options[this.selectedIndex].value=='3') { this.form.action='bytformulär.asp'; this.form.target='foo'; this.form.submit(); } else { SkapaVal(this.selectedIndex); }"
Verkar funka, vill dock att this.form.target='foo' ska öppnas i det aktiva fönstre... som _self i HTML om du förstår..
Prova target=''.
Edit: om du inte har rätt target från början då. Då är det ju bara att strunta i att sätta target i onchange-handlern.
Mvh
nope, funkar inte... verkar som om den submittar formuläret, men den börjar inte ladda någon sida eller så... skumt..
Hur ser hela formulärskoden ut nu då?
<SCRIPT Language="JavaScript">
<!--
Arrej=new Array(3);
Arrej[0]=new Array(1);
Arrej[1]=new Array(13);
Arrej[2]=new Array(5);
Arrej[3]=new Array(6);
Arrej[4]=new Array(2);
Arrej[5]=new Array(4);
Arrej[6]=new Array(3);
Arrej[7]=new Array(4);
Arrej[8]=new Array(2);
Arrej[0][0]=["Select category first", 0];
Arrej[1][0]=["Set up TV/VCR/DVD", "Audio/Video - Set up TV/VCR/DVD"];
Arrej[1][1]=["Computer W/Projector", "Audio/Video - Computer W/Projector"];
Arrej[1][2]=["Setup Microphone/ Sound System", "Audio/Video - Setup Microphone/ Sound System"];
Arrej[1][3]=["Show a Video/DVD", "Audio/Video - Show a Video/DVD"];
Arrej[1][4]=["Create a Video/DVD", "Audio/Video - Create a Video/DVD"];
Arrej[1][5]=["Edit a Video/DVD", "Audio/Video - Edit a Video/DVD"];
Arrej[1][6]=["Copy a Video/DVD", "Audio/Video - Copy a Video/DVD"];
Arrej[1][7]=["Setup Overhead Projector", "Audio/Video - Setup Overhead Projector"];
Arrej[1][8]=["Video Record an Event", "Audio/Video - Video Record Event"];
Arrej[1][9]=["Video Record an Event and create Video", "Audio/Video - Video Record Event & create Video"];
Arrej[1][10]=["Take Photograph of Event", "Audio/Video - Take Photograph of Event"];
Arrej[1][11]=["Print Photograph", "Audio/Video - Print Photograph"];
Arrej[1][11]=["Clean Equipment", "Audio/Video - Clean Equipment"];
Arrej[1][12]=["Other", "Audio/Video - Other"];
Arrej[2][0]=["Purchase Software", "Software - Purchase Software"];
Arrej[2][1]=["Install Software", "Software - Install Software"];
Arrej[2][2]=["Develop Glossary, Macro etc.", "Software - Develop Glossary, Macro etc."];
Arrej[2][3]=["Microsoft Office assistance", "Software - Microsoft Office assistance"];
Arrej[2][4]=["Other", "Software - Other"];
Arrej[3][0]=["Purchase Equipment", "Hardware - Purchase Equipment"];
Arrej[3][1]=["Move Equipment", "Hardware - Move Equipment"];
Arrej[3][2]=["Borrow Equipment", "Hardware - Borrow Equipment"];
Arrej[3][3]=["Install Equipment", "Hardware - Install Equipment"];
Arrej[3][4]=["Troubleshoot Equipment", "Hardware - Troubleshoot Equipment"];
Arrej[3][5]=["Other", "Hardware - Other"];
Arrej[4][0]=["Start-Up", "Internet at Home - Start-Up"];
Arrej[4][1]=["Other", "Internet at Home - Other"];
Arrej[5][0]=["Helpful Hints", "Landline Phone - Helpful Hints"];
Arrej[5][1]=["Business PIN", "Landline Phone - Business PIN"];
Arrej[5][2]=["Voice Mail", "Landline Phone - Voice Mail"];
Arrej[5][3]=["Service Request", "Landline Phone - Service Request"];
Arrej[6][0]=["Helpful Hints", "Mobile Phone - Helpful Hints"];
Arrej[6][1]=["Voice Mail", "Mobile Phone - Voice Mail"];
Arrej[6][2]=["Service Request", "Mobile Phone - Service Request"];
Arrej[7][0]=["Internet - Add Material", "Internet - Add Material"];
Arrej[7][1]=["Internet - Other", "Internet - Other"];
Arrej[7][2]=["Intranet - Add Material", "Intranet - Add Material"];
Arrej[7][3]=["Intranet - Other", "Intranet - Other"];
Arrej[8][0]=["Data", "Cabling - Data"];
Arrej[8][1]=["Telephone", "Cabling - Telephone"];
function SkapaVal(num)
{
document.val.helptype.options.length = Arrej[num].length;
for(ctr=0;ctr<Arrej[num].length;ctr++)
{
document.val.helptype.options[ctr]=new Option(Arrej[num][ctr][0],Arrej[num][ctr][1]);
}
document.val.helptype.selectedIndex=0;
}
window.onload=function(){
SkapaVal(document.forms["val"].elements["huvud"].selectedIndex);
}
//-->
</Script>
<form method="post" action="outputfile.asp" name="val" enctype="multipart/form-data">
<SELECT NAME="huvud" OnChange="if (this.options[this.selectedIndex].value=='10') { this.form.action='logonrequest.asp'; this.form.target=''; this.form.submit(); } else { SkapaVal(this.selectedIndex); }">
<OPTION VALUE="1">- Select category -</OPTION>
<OPTION VALUE="2">Audio/Video</OPTION>
<OPTION VALUE="3">Software</OPTION>
<OPTION VALUE="4">Hardware</OPTION>
<OPTION VALUE="5">Internet at home</OPTION>
<OPTION VALUE="6">Telephone - Landline</OPTION>
<OPTION VALUE="7">Telephone - Mobile</OPTION>
<OPTION VALUE="8">Web</OPTION>
<OPTION VALUE="9">Cabling</OPTION>
<OPTION VALUE="10">Logon request</OPTION>
</SELECT>
<SELECT NAME="helptype">
<OPTION VALUE="0">Select category first</OPTION>
</SELECT>
<input type="submit" name="Submit" value="Submit">
<input type="reset" name="reset" value="Reset">
</form>
Om det där är hela formulärskoden förstår jag att det inte fungerar. Du har ju inga <form> och </form>-taggar???
ingen som vet?
Ta bort enctype ur <form>.
jo, men kan inte göra det då användarna även kan ladda upp en fil i formuläret, då behövs väl enctype vara som det är för att själva upload delen ska funka...
helt knasigt, men det verkar funka nu... har inte ändrat nånting... helskumt..
target är: this.form.target=''
jo, men kan inte göra det då användarna även kan ladda upp en fil i formuläret,
Hur kan de göra det? Du har ju inget input-element av typen file???