20. marts 2002 - 17:25
Der er
1 kommentar
tilretning af form
Hej.
Er der nogen der kan forklare mig, hvordan man retter sin form til med hensyn til felter der SKAL udfyldes og dem der ikke skal?
Jeg har en form hvor man kan vælge at modtage noget via mail eller sms. Og så er det jo at der er to felter. Et til tlf.nummer og et til mail. Men det er jo kun det ene felt der absolut SKAL udfyldes alt efter om man har valgt det ene eller det andet...
Jeg kan fint sætte dem begge til at være et must, men vil gerne ha´ det til at være kun det ene...jeg arbejder i Dreamweaver....
Fik I den?
01. februar 2007 - 14:09
#1
jeg har et forslag:
<form id="form1" method="post" action="">
<p>
<label>Navn
<input id="name" type="text" name="name" />
</label>
</p>
<p>
<label>Adresse
<input id="address" type="text" name="address" />
</label>
</p>
<p>
<label>Kontaktes via
<select id="contactby" name="contactby">
<option value="sms" selected="selected">sms</option>
<option value="mail">mail</option>
</select>
</label>
</p>
<p>
<label>Telefonnr
<input id="phone" type="text" name="phone" />
</label>
</p>
<p>
<label>Email
<input id="email" type="text" name="email" />
</label>
</p>
<p>
<label>
<input type="button" name="Submit" value="Submit" onclick="validateFormAndSubmit();"/>
</label>
</p>
</form>
<script type="text/javascript">
function validateFormAndSubmit(){
//dette er det trivielle!
var errorMessage = "Invalid data!"; //tilpas din egen fejlmeddelelse
var requiredFields = new Array("name","address"); //indsæt selv flere
for(var i=0;i<requiredFields.length;i++){
if(document.getElementById(requiredFields[i]).value == ""){
document.getElementById(requiredFields[i]).value == errorMessage;
document.getElementById(requiredFields[i]).focus();
return;
}
}
//nu kommer det sjove
var contactby = document.getElementById("contactby");
if(contactby.options[contactby.selectedIndex].value == "sms" && !validPhoneNumber(document.getElementById("phone").value)){
document.getElementById("phone").value = errorMessage;
document.getElementById("phone").focus();
return;
}
else if(contactby.options[contactby.selectedIndex].value == "mail" && !validEmailAddress(document.getElementById("email").value)){
document.getElementById("email").value = errorMessage;
document.getElementById("email").focus();
return;
}
//Alt er ok, hvis vi kommer hertil.
//send formularen afsted...
document.getElementById("form1").submit();
}
function validPhoneNumber(phoneNumber){
var minDigits = 8;
return (!isNaN(phoneNumber) && phoneNumber && phoneNumber.indexOf(".") == -1 && phoneNumber != 0 && phoneNumber >= minDigits);
}
function validEmailAddress(email){
return email.match(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/);
}
</script>