16. september 2001 - 23:26Der er
16 kommentarer og 2 løsninger
Hvorfor virker validering ikke?
Hvordan kan det være at denne kode ikke virker?
Formen sendes bare uden nogen alert...
<script language=\'javascript\'>
function valider (form) {
//test af kategori if (this.document.soeg[\"kat_id[]\"].length == \'0\') { alert (\"\\nDu skal vælge mindst en kategori at søge i.\") return false; } //slut test kategori
return true; // alle felter er ordentligt udfyldt };
</script>
<form name=\"soeg\" onSubmit=\"return valider(this)\" method=\"get\" action=\"markedet.php\"> <p><table cellspacing=\"2\" cellpadding=\"2\" border=\"0\"> <input type=\"hidden\" name=\"send\" value=\"jep\"> <input type=\"hidden\" name=\"valg\" value=\"soeg\"> <TR> <TD colspan=\"2\"> Vælg hvad du vil søge efter herunder. Klik herefter på \"Søg\". Du behøver ikke at bruge alle søgemulighederne, men det anbefales at være så specifik som muligt.<br></td> </TR> <tr> <td align=\"right\">Søgeord: </td> <td width=\"100%\"><input type=\"text\" class=\"text\" name=\"soegeord\"></td> </tr> <tr> <td align=\"right\">Søg i : </td> <td><select name=\"type\"> <option value=\"saelges\">Sælges <option value=\"koebes\">Købes </select></td> </tr> <?PHP $resultat = mysql_query(\"select * from markedet_kat\"); $antal = mysql_num_rows($resultat); ?> <tr> <td width=\"150\" align=\"right\">Søg i kategorierne: </td><td width=\"100%\"><select name=\"kat_id[]\" multiple size=\"<?PHP echo $antal ?>\"> <?PHP // Hent først data ud $resultat = mysql_query(\"select * from markedet_kat\");
// Kør så igennem for hver række while ($raekke = mysql_fetch_array($resultat)) { echo \"<option value=\\\"$raekke[id]\\\">$raekke[overskrift]\"; } ?> </select></td></tr> <tr> <tr> <td></td><td><input type=\"image\" src=\"images/soeg.gif\" value=\"søg\" border=\"0\"></td> </tr> </form> </table>
Never mind PHP\'en, det er den select multiple validering jeg ikke kan få til at virke....
AI bliver først for alvor en del af arbejdet, når teknologien integreres i den måde, vi arbejder på. At have adgang til AI betyder ikke nødvendigvis, at medarbejderne er klar til at bruge den.
Eller rettere: if (form.soeg.kat_id.selectedIndex == \'0\') <-- og lav parameternavnet om -- så er vi sikre på, at der ikke er nogen, som bli\'r forvirrede
Ups ... Eller rettere: if (form.kat_id[].selectedIndex == \'0\') <-- og lav parameternavnet om -- så er vi sikre på, at der ikke er nogen, som bli\'r forvirrede
Synes godt om
Slettet bruger
16. september 2001 - 23:40#6
Jeg får (bagefter) en \'document.soeg.kat_id.selectedIndex\' er ikke et object
el_barto >> hmmm....å kalle din selectbox for kat_id[] er ikke så godt...kan den heller kun kat_id. Det er ikke noe poeng i å navngi den som om den var en array, for når du requester den, så blir verdiene returnert som en array allikevel. Hvis du så kaller din selectbox kat_id, så vil min første posting fungere...
el_barto > selv om du setter [] i navnet på din selectbox, så vil den *ikke* være en array !! Du er nødt til å hente hele objektet inn. Skriv om din jsfunksjon til:
<script language=\'javascript\'>
function valider(form) { var checked = false; var arr = document.soeg.kat_id; alert( arr.length ); for( i=0; i< arr.length; i++ ){ if( document.soeg.kat_id[i].selected ){ checked = true; break; } }
if( !checked ){ alert (\"\\nDu skal vælge mindst en kategori at søge i.\") return false; }
return true; // alle felter er ordentligt udfyldt }
</script>
/nute
Synes godt om
Slettet bruger
17. september 2001 - 00:19#14
nute> Jeg får altså et array ud af det i PHP...og hvis det er navngivet med [] får man et array i PHP...men prøver lige din kode!
Jeg fik det til at virke..rodede lidt med den gamle kode:
<script type=\"text/javascript\">
function SelectAll(){
if (document.soeg[\"kat_id[]\"].selectedIndex != \'0\') { alert (\"\\nDu skal vælge mindst en kategori at søge i.\") return false; } } </script>
Og så en onclick på submit knappen
Synes godt om
Slettet bruger
17. september 2001 - 00:29#17
men tak for hjælpen... :)
Synes godt om
Slettet bruger
17. september 2001 - 00:33#18
ups...gammel kode..rigtige:
<script type=\"text/javascript\">
function SelectAll(){
if (document.soeg[\"kat_id[]\"].selectedIndex == \'-1\') { alert (\"\\nDu skal vælge mindst en kategori at søge i.\") return false; } } </script>
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.