2016-04-15 5 views
2

Ich habe eine Submit-Funktion, um Formulareingaben zu validieren, dann optional (Kontrollkästchen) als Teil des Übermittlungsverfahrens zu drucken.JavaScript validieren, dann drucken und senden

Das Problem ist, dass, wenn gedruckt, Formular Einreichung nie abgeschlossen wird, ohne Druckformular Einreichung funktioniert ordnungsgemäß.

<INPUT class=checkboxes id="Place order" onclick="return checkfields()" type=submit value=SUBMIT name="Place order"> 

Die Validierung funktioniert immer korrekt (AFAIK).

function checkfields() { 
    var missinginfo="Please fill the following information"; 

    var bres = true, qty=0, elem; 

    var tqty = document.getElementById('bottles').value; 
    if (tqty ==0){alert("No wine selected");bres=false;return bres;} 
    if (tqty %6 !=0){ 
     alert("Orders need to be in 6 bottle packs please add " + (6 -(tqty %6)) + " Bottles to order"); 
     bres=false; 
     return bres; 
    } //end if 
    for (i=1; i<30; i++) { 
     elem = document.getElementById('f'+i); 
     if(elem !=null){ 
      if(elem.value== ""){ // || 
       //(document.form.website.value.indexOf("http://") == -1) || 
       //(document.form.website.value.indexOf(".") == -1)) { 
       bres = false; missinginfo += "\n " + (document.getElementById('f'+i).name); 
      }  //end if 
     }  //end if 
    }  //end for 
    if(!bres){alert (missinginfo);} 

    // end of validation here, print if checkbox checked 
    if(bres && document.getElementById('cprint').checked==true){window.print();} 

    document.getElementById('doc').value = ""; 
    return bres; 
} //end function 

Irgendwelche Vorschläge zur Abhilfe, oder mache ich etwas völlig falsch?

+0

Wenn ich eine Alert() nach dem Druck setzen() die Form richtig vorträgt, könnte dies ein Zeitpunkt sein oder ein Problem konzentrieren? –

Antwort

1

Verwenden onsubmit statt onclick:

<INPUT class="checkboxes" id="Place order" 
    onsubmit="return checkfields();" 
    type="submit" value="SUBMIT" name="Place order"> 
+0

danke für Ihre Antwort, mit onsubmit, keine Validierung oder Druck passiert –