1e value niet doorgeven bij <select> </select>

Pagina: 1
Acties:

  • Davidoff402
  • Registratie: Oktober 2000
  • Laatst online: 24-03-2022

Davidoff402

The more you tweak....

Topicstarter
Een probleempje bij de selecter. Ik wil niet dat de 1e value wordt doorgegeven (Make a selection:) Deze moet leeg blijven. De select wordt gesubmit door volgende functie:

function GoSoort(){

document.selecterSoort.ProjectsoortID.value=document.selecterSoort.selectProjectsoort.value
document.selecterSoort.submit()
}


De waarde wordt dus doorgegeven naar de volgende pagina. Als ik dan van de 2e pagina weer terugga naar de 1e en ik kies voor "Make a selection:" dan probeert ie de waarde (lege waarde) door te geven en dan krijg ik natuurlijk een foutmelding. De opties die opgebouwd worden komen uit SQL.

<select name="selectProjectsoort" onChange="GoSoort()" >
<option value=''>Make a selection:</option>
<%
rsProjectsoort.movefirst
while Not rsProjectsoort.EOF
Response.write ("<option value="" " )
Response.write rsProjectsoort.fields("Projectsoort ID")
Response.write (""">")
Response.write rsProjectsoort.fields("Project soort")
Response.write ("</option>")
rsProjectsoort.movenext
wend
%>


Iemand die weet hoe ik "Make a selection:" kan laten tonen zonder iets ermee te kunnen doen?

Sempron 3800+ 8k9a7i


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 16:30

Janoz

Moderator Devschuur®

!litemod

In de pagina waarnaar gesubmit wordt je vars checken voordat je er mee gaat ASP-en (Zou verplicht moeten worden). Hierdoor kun je ook afvangen dat mensen rare gegevens submitten waardoor ze dingen uit je DB kunnen halen die je eigenlijk helemaal niet openbaar wilt hebben :)

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


Verwijderd

edit:

Ik had je vraag niet helemaal goed gelezen...

je kan toch gewoon de 'Make a selection' select een value van "-1" geven, die komt waarschijnlijk toch verder niet voor, en in je ASP pagina check je gewoon of Request.QueryString("selectProjectsoort") <> "-1" is, als dat zo is, doe je niks.

Je kan het ook direct in Javascript afvangen, mischien wel zo netjes... (of beide, da's netjes én veilig)

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

waarom zou je die niet een error waarde geven :?
als ze geen keuze maken kan je dat mooi afvangen

Doet iets met Cloud (MS/IBM)


  • Davidoff402
  • Registratie: Oktober 2000
  • Laatst online: 24-03-2022

Davidoff402

The more you tweak....

Topicstarter
Als ik 'make a selection:' de value='fout' door laat geven, lukt het me niet om een IF - ELSE erin te gooien en 'm niks te laten doen.
Kan iemand me nu hieruit helpen? Ik dacht iets als het volgende:

IF document.selecterSoort.selectProjectsoort.value='fout' then ... ... ... DOE NIKS

else

function GoSoort(){


document.selecterSoort.ProjectsoortID.value=document.selecterSoort.selectProjectsoort.value
document.selecterSoort.submit()
}

END IF

Sempron 3800+ 8k9a7i


Verwijderd

Je bent nu in de war tussen client side, en server side scripting... :)

In je ASP waarnaartoe het form gesubmit wordt (ik ga uit van GET, als het POST is moet je ipv QueryString Form gebruiken) moet je dit zetten
code:
1
2
3
4
5
<%If Request.QueryString("selectProjectsoort") <> "fout" Then
  Response.Write "tsjj, fout..."
Else
  Response.Write "Je keuze was : " & Request.QueryString("selectProjectsoort") 
%>

Dit zou moeten werken. Je kan ook in Javascript hetvolgende doen...
code:
1
2
3
4
5
6
7
8
function GoSoort(){ 
  document.selecterSoort.ProjectsoortID.value = document.selecterSoort.selectProjectsoort.value

  if (document.selecterSoort.ProjectsoortID.value == 'fout')
    alert(''Tsjj...);
  else
    document.selecterSoort.submit();
}

Ik hoop dat het nu wat duidelijk is :)

  • Davidoff402
  • Registratie: Oktober 2000
  • Laatst online: 24-03-2022

Davidoff402

The more you tweak....

Topicstarter
Tnx! Maar ik wil dat ie gewoon helemaal NIKS doet!
Als je weer terug komt op de pagina (met bv. een back button) dan krijg je weer een uitschuifmenuutje en dan is 'Make a selection:' een optie en natuurlijk het hele lijstje dat is gevuld vanuit SQL server. Als je op 'Make a selection:' klikt dan geeft ie de waarde 'fout' door naar pagina 2. maar hij moet juis NIKS doen. Alleen als je op de waarden uit SQL klikt mag ie wat doen.

Sempron 3800+ 8k9a7i


  • Davidoff402
  • Registratie: Oktober 2000
  • Laatst online: 24-03-2022

Davidoff402

The more you tweak....

Topicstarter
Laat maar trouwens... ik zie zelf wat ik stom zit te brabbelen. Ik ben er uit... tnx. met een response.redirectje ;)

Sempron 3800+ 8k9a7i

Pagina: 1