monAmourMedlem sedan dec. 2002258 inlägg Bygger en liten sökmotor förnärvarande och vill med javascript se följande:
Om användaren har valt "artnr" i en selectmeny så ska bara användaren kunna söka med ett sökord innehållande siffror och ett "-" bindesträck.
Jag har testat följande:
// VALIDATE SEARCH
function validateSearch() {
var s = document.searchForm.string;
var searchType = document.searchForm.string_type.options[document.searchForm.string_type.options.selectedIndex].value;
var pattern = "/[0-9]\-/";
if (s.value == "") {
alert("Du måste ange ett sökord!\n");
return false;
}
else if (searchType == "artnr" && s.value.pattern.test() == false) {
alert("Om du gör en artikelnummerbaserad sök\nska endast ditt sökord bestå av siffror!\n");
return false;
}
}
Jag har rätt hänvisningar till mitt formulär så det är inte där det brister, så jag förmodar att min RegExp är fel.
Är inte så hajj på det där än!
Hur ska den se ut?
testa
else if (searchType == "artnr" && pattern.test(s.value) == false) {
och testa
var pattern = "/[0-9\-]*/";
monAmourMedlem sedan dec. 2002258 inlägg Nu kör jag:
function p_validateSearch() {
var s = document.p_searchForm.string;
var searchType = document.p_searchForm.string_type.options[document.p_searchForm.string_type.options.selectedIndex].value;
var pattern = "/[0-9\-]*/";
if (s.value == "") {
alert("Du måste ange ett sökord!\n");
return false;
}
else if (searchType == "artnr" && pattern.test(s.value) == false) {
alert("Om du gör en artikelnummerbaserad sök\nska endast ditt sökord bestå av siffror!\n");
return false;
}
}
men den reagerar inte alls med alert():en om jag t.ex. bara skrivit in bokstäver i min input istället för rena siffror..
några andra pattern förslag?
hmm.. testa "/^[0-9\-]+$/"
monAmourMedlem sedan dec. 2002258 inlägg verkar inte fungera heller, den verkar mest ignorera hela (else if) satsen lixom.. postar bara iväg formuläret...
ok.. testa att bara alerta alla variabler och kontrollera så att de innehåller de värden du tror att de innehåller ...