Avatar billede bukse Nybegynder
22. februar 2003 - 09:41 Der er 6 kommentarer og
1 løsning

Formular

Jeg har lavet en formular hvor der skal afkrydses flere steder, hvordan forhindre jeg at formularen bliver sendt ved tryk på enter-tasten. Jeg mener dermed at formularen bliver sendt for tidligt
Avatar billede elkrog Nybegynder
22. februar 2003 - 10:24 #1
Du kan checke om alle felter er udfyldt inden der sendes.
http://www.html.dk/artikler/00016/
Avatar billede cdc Novice
22. februar 2003 - 12:34 #2
jeg bruger denne i selve formen:

<input type="hidden" name="required" value="Navn,Adresse,PostnrBy,Telefon,Email"> hvor value er navnene på felterne der skal udfyldes unden man kan sende den.
Avatar billede cdc Novice
22. februar 2003 - 12:34 #3
Men er ikke 100 på om FP har denne mulighed
Avatar billede bukse Nybegynder
22. februar 2003 - 13:05 #4
Da min formular har flere afkrydsningsfelter / svarmuligheder, kan jeg ikke lave de enkelte felter obligatorisk ex. ja / nej eller ved ikke.
Avatar billede justdoit Nybegynder
22. februar 2003 - 13:45 #5
Du skal have lavet noget validering! Dette går ind og tjekker om alle dine felter er fyldt inden de sendes!!

Brug evt. noget java script til dette!!
Avatar billede cdc Novice
22. februar 2003 - 16:23 #6
It is possible using JavaScript. It really depends on what form fields you have present in your form as to what JavaScript form validation you perform.

If you are not interested in support for Netscape Navigator 2 or Microsoft Internet Explorer 3, then you can write some generic code that interrogates all the form elements and depending on their type performs relevant validation.

If you must support Netscape Navigator 2 and Internet Explorer 3 then you need some clue as to what each form elements type is, by using the form elements name.

The following provides a way for all browsers:

<script language="JavaScript"><!--
function validateValues(what) {
    var valid = true;
       
    var checkBoxes = false;
    var checkboxChecked = false;
       
    var radioButtons = false;
    var radioChecked = false;

    for (var i=0, j=what.elements.length; i<j; i++) {
        myName = what.elements[i].name;
        if (myName.indexOf('radio') > -1) {
            radioButtons = true;
            if (what.elements[i].checked) radioChecked = true;
        }
        if (myName.indexOf('checkbox') > -1) {
            checkBoxes = true;
            if (what.elements[i].checked) checkboxChecked = true;
        }
        if (myName.indexOf('hidden') > -1 || myName.indexOf('password') > -1 || myName.indexOf('text') > -1)
            if (what.elements[i].value == what.elements[i].defaultValue) valid = false;
        if (myName.indexOf('select') > -1)
            if (what.elements[i].selectedIndex == 0) valid = false;
    }

    if ((checkBoxes && !checkboxChecked) || (radioButtons && !radioChecked)) valid = false;

    if (!valid)
        alert('Form not completely filled');

    return valid;
}
//--></script>

<script language="JavaScript1.1"><!--
function validateValues(what) {
    var valid = true;
       
    var checkBoxes = false;
    var checkboxChecked = false;
       
    var radioButtons = false;
    var radioChecked = false;
       
    for (var i=0, j=what.elements.length; i<j; i++) {
        myType = what.elements[i].type;
        if (myType == 'radio') {
            radioButtons = true;
          if (what.elements[i].checked) radioChecked = true;
        }
        if (myType == 'checkbox') {
            checkBoxes = true;
            if (what.elements[i].checked) checkboxChecked = true;
        }
        if (myType == 'hidden' || myType == 'password' || myType == 'text' || myType == 'textarea')
            if (what.elements[i].value == what.elements[i].defaultValue) valid = false;
        if (myType == 'select-one' || myType == 'select-multiple')
            if (what.elements[i].selectedIndex == 0) valid = false;
    }

    if ((checkBoxes && !checkboxChecked) || (radioButtons && !radioChecked)) valid = false;

    if (!valid)
        alert('Form not completely filled');

    return valid;
}
//--></script>

<form name="myForm" onSubmit="return validateValues(document.myForm)">
<br><input name="checkbox1" type="checkbox"><input name="checkbox2" type="checkbox">
<br><input name="hidden" type="hidden" value="hidden value">
<br><input name="password" type="password" value="password value">
<br><input name="radio" type="radio"><input name="radio" type="radio">
<br><input name="text" type="text" value="text value">
<br><textarea name="textarea">textarea value</textarea>
<br><select name="select1">
<option selected>Select One:
<option>1
<option>2
<option>3
</select>
<br><select name="select2" multipe size="2">
<option selected>Select One:
<option>1
<option>2
<option>3
</select>
<br><input type="submit">
</form>
Avatar billede -master-d- Nybegynder
24. marts 2003 - 16:41 #7
Det nemmeste er nok ikke at bruge en submit knap og bare en almindelig knap.

EKS:

<form method="POST" action="side.asp" name="formen">
  <p><input type="radio" value="V1" name="R1"> Spørgsmål ?</p>
  <p><input type="radio" value="V2" name="R2"> Spørgsmål ?</p>
  <p><input type="radio" value="V3" name="R3"> Spørgsmål ?</p>
  <p><input type="radio" value="V4" name="R4"> Spørgsmål ?</p>
  <p><input type="button" value="Send" name="knap" onclick="document.formen.submit();"></p>
</form>
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester