Menu

Firefox not requiring fields

Help
gee em
2010-12-17
2013-06-03
  • gee em

    gee em - 2010-12-17

    I have required fields that work in IE. However, when using the form in Firefox (3.6) or Google Chrome, the form can be submitted with imcomplete required fields.

    Anyone an idea how to resolve this problem?

    Thanks
    Martin

     
  • TNTEverett

    TNTEverett - 2010-12-17

    I have never heard of this problem or experienced it myself with FireFox.  Would you like to send me your form so I can give it a try and debug this on my own system?

     
  • gee em

    gee em - 2010-12-17

    okay, I have sent you a message with the code!

     
  • gee em

    gee em - 2010-12-17

    Because Mail delievry failed two times, here is the code:

    Here is the code:

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
    Transitional//EN">
    <html>
    <head>
    <title>Antrag auf Bereitstellung einer virtuellen
    Maschine (VM)</title>
    <meta http-equiv="content-type"
    content="text/html; charset=UTF-8"><link href="style.css"
    rel="stylesheet" type="text/css">
    <!- calendar stuff ->
    <link rel="stylesheet" type="text/css"
    href="calendar/calendar-blue2.css" />
    <script type="text/javascript"
    src="calendar/calendar.js"></script>
    <script type="text/javascript"
    src="calendar/calendar-de.js"></script>
    <script type="text/javascript"
    src="calendar/calendar-setup.js"></script>
    <!- END calendar stuff ->

    <!- expand/collapse function ->
    <SCRIPT type=text/javascript>
    <!-
    function collapseElem(obj)
    {
    var el = document.getElementById
    (obj);
    el.style.display = 'none';
    }

    function expandElem(obj)
    {
    var el = document.getElementById
    (obj);
    el.style.display = '';
    }

    //->
    </SCRIPT>
    <!- expand/collapse function ->

    <!- expand/collapse function ->
    <SCRIPT type=text/javascript>
    <!-

    // collapse all elements, except the
    first one
    function collapseAll()
    {
    var numFormPages = 1;

    for(i=2; i <=
    numFormPages; i++)
    {
    currPageId
    = ('mainForm_' + i);

    collapseElem(currPageId);
    }
    }

    //->
    </SCRIPT>
    <!- expand/collapse function ->

    <!- validate ->
    <SCRIPT type=text/javascript>
    <!-
    function validateField(fieldId,
    fieldBoxId, fieldType, required)
    {
    fieldBox =
    document.getElementById(fieldBoxId);
    fieldObj =
    document.getElementById(fieldId);

    if(fieldType == 'text' ||
    fieldType == 'textarea' || fieldType == 'password' || fieldType == 'file' ||
    fieldType == 'phone' || fieldType == 'website')
    {
    if(required
    == 1 && fieldObj.value == '')
    {

    fieldObj.setAttribute("class","mainFormError");

    fieldObj.setAttribute("className","mainFormError");

    fieldObj.focus();

    return false;

    }

    }

    else if(fieldType
    == 'menu' || fieldType == 'country' || fieldType == 'state')
    {
    if(required
    == 1 && fieldObj.selectedIndex == 0)
    {

    fieldObj.setAttribute("class","mainFormError");

    fieldObj.setAttribute("className","mainFormError");

    fieldObj.focus();

    return false;

    }

    }

    else if(fieldType
    == 'email')
    {
    if((required
    == 1 && fieldObj.value=='') || (fieldObj.value!='' && !validate_email
    (fieldObj.value)))
    {

    fieldObj.setAttribute("class","mainFormError");

    fieldObj.setAttribute("className","mainFormError");

    fieldObj.focus();

    return false;

    }

    }

    }

    function validate_email(emailStr)
    {
    apos=emailStr.indexOf
    ("@");

    dotpos=emailStr.lastIndexOf(".");

    if (apos<1||dotpos-
    apos<2)
    {
    return false;
    }
    else
    {
    return true;
    }
    }

    function validateDate(fieldId,
    fieldBoxId, fieldType, required, minDateStr, maxDateStr)
    {
    retValue = true;

    fieldBox =
    document.getElementById(fieldBoxId);
    fieldObj =
    document.getElementById(fieldId);
    dateStr = fieldObj.value;

    if(required == 0 &&
    dateStr == '')
    {
    return true;
    }

    if(dateStr.charAt(2) != '/'
    || dateStr.charAt(5) != '/' || dateStr.length != 10)
    {
    retValue =
    false;
    }

    else // format's
    okay; check max, min
    {
    currDays =
    parseInt(dateStr.substr(0,2),10) + parseInt(dateStr.substr(3,2),10)*30 +
    parseInt(dateStr.substr(6,4),10)*365;
    //alert
    (currDays);

    if
    (maxDateStr != '')
    {

    maxDays = parseInt(maxDateStr.substr(0,2),10) + parseInt
    (maxDateStr.substr(3,2),10)*30 + parseInt(maxDateStr.substr(6,4),10)
    *365;

    //alert(maxDays);
    if
    (currDays > maxDays)

    retValue = false;
    }

    if
    (minDateStr != '')
    {

    minDays = parseInt(minDateStr.substr(0,2),10) + parseInt
    (minDateStr.substr(3,2),10)*30 + parseInt(minDateStr.substr(6,4),10)
    *365;

    //alert(minDays);
    if
    (currDays < minDays)

    retValue = false;
    }
    }

    if(retValue == false)
    {

    fieldObj.setAttribute("class","mainFormError");

    fieldObj.setAttribute("className","mainFormError");

    fieldObj.focus();
    return false;
    }
    }
    //->
    </SCRIPT>
    <!- end validate ->

    </head>

    <body onLoad="collapseAll()">

    <div id="mainForm">

    <div id="formHeader">
    <h2
    class="formInfo">Antrag auf Bereitstellung einer virtuellen Maschine
    (VM)</h2>
    <p
    class="formInfo"></p>
    <h3 class="formInfo"> Referat xxx, eMail: xx.xx</h3>
    </div>

    <BR/><!- begin form ->
    <form method=post enctype=multipart/form-
    data action=processor.php onSubmit="return validatePage1();"><ul
    class=mainForm id="mainForm_1">
    <li class="mainForm" id="fieldBox_2">
    <label
    class="formFieldQuestion">Name
    Antragsteller&nbsp;*&nbsp;</label><input class=mainForm type=text
    name=field_13 id=field_13 size='50' value=''></li>
    <li class="mainForm" id="fieldBox_1">
    <label
    class="formFieldQuestion">Gewünschte
    Bereitstellung&nbsp;*</label><input type=text name=field_1 id=field_1
    value=""><button type=reset class=calendarStyle
    id=fieldDateTrigger_1></button><SCRIPT type='text/javascript'>
    Calendar.setup({

    inputField : "field_1",

    ifFormat : "%d/%m/%Y",

    showsTime : false,

    button : "fieldDateTrigger_1",

    singleClick : true,

    step : 1

    });</SCRIPT></li>

    <li class="mainForm"
    id="fieldBox_2">
    <label
    class="formFieldQuestion">Servername&nbsp;*&nbsp;<a class=info
    href=#><img src=imgs/tip_small.png border=0><span
    class=infobox>Name des Servers (entspricht dem DNS-Name, max.
    15 Zeichen)</span></a></label><input class=mainForm type=text
    name=field_2 id=field_2 size='20' value=''></li>

    <li class="mainForm"
    id="fieldBox_3">
    <label
    class="formFieldQuestion">Priorität des Servers&nbsp;*&nbsp;<a
    class=info href=#><img src=imgs/tip_small.png border=0><span
    class=infobox>Wichtigkeit des Servers, von 1(=landesweiter Hänger)
    bis 5 (=Testbetrieb)</span></a></label><select class=mainForm
    name=field_3 id=field_3><option value=''></option><option
    value="1">1</option><option value="2">2</option><option
    value="3">3</option><option value="4">4</option><option
    value="5">5</option></select></li>

    <li class="mainForm"
    id="fieldBox_4">
    <label
    class="formFieldQuestion">Zuständiges Admin-
    Team&nbsp;*</label><input class=mainForm type=text name=field_4
    id=field_4 size='50' value=''></li>

    <li class="mainForm"
    id="fieldBox_5">
    <label
    class="formFieldQuestion">eMail-Adresse Admin-
    Team&nbsp;*</label><input class=mainForm type=email
    name=field_5 id=field_5 size=50 value="@test.de" style="background-
    image:url(imgs/email.png); background-repeat: no-repeat; padding:
    2px 2px 2px 25px;"></li>
    <li class="mainForm"
    id="fieldBox_6">
    <label
    class="formFieldQuestion">Enddatum</label><input type=text
    name=field_6 id=field_6 value=""><button type=reset
    class=calendarStyle id=fieldDateTrigger_6></button><SCRIPT
    type='text/javascript'> Calendar.setup({

    inputField : "field_6",

    ifFormat : "%d/%m/%Y",

    showsTime : false,

    button : "fieldDateTrigger_6",

    singleClick : true,

    step : 1

    });</SCRIPT></li>

    <li class="mainForm"
    id="fieldBox_7">
    <label
    class="formFieldQuestion">vCPU&nbsp;*</label><select
    class=mainForm name=field_7 id=field_7><option
    value=''></option><option value="1">1</option><option
    value="2">2</option><option value="3">3</option><option
    value="4">4</option><option value="5">5</option><option
    value="6">6</option><option value="7">7</option><option
    value="8">8</option></select></li>

    <li class="mainForm"
    id="fieldBox_8">
    <label
    class="formFieldQuestion">Arbeitsspeicher (RAM)
    &nbsp;*</label><select class=mainForm name=field_8
    id=field_8><option value=''></option><option
    value="512">512</option><option value="1024">1024</option><option
    value="1536">1536</option><option
    value="2048">2048</option><option
    value="3072">3072</option><option
    value="4096">4096</option><option
    value="8192">8192</option><option
    value="16384">16384</option><option
    value="32768">32768</option></select></li>

    <li class="mainForm"
    id="fieldBox_9">
    <label
    class="formFieldQuestion">Storageklasse&nbsp;*&nbsp;<a
    class=info href=#><img src=imgs/tip_small.png border=0><span
    class=infobox>Festplatten Performancestufen: A=FibreChannel <br>
    B=SAS <br> C=SATA</span></a></label><select class=mainForm
    name=field_9 id=field_9><option value=''></option><option
    value="A">A</option><option value="B">B</option><option
    value="C">C</option></select></li>

    <li class="mainForm"
    id="fieldBox_10">
    <label
    class="formFieldQuestion">1. Festplatte&nbsp;*&nbsp;<a class=info
    href=#><img src=imgs/tip_small.png border=0><span
    class=infobox>Angabe in Gigabyte</span></a></label><input
    class=mainForm type=text name=field_10 id=field_10 size='5'
    value='20'></li>

    <li class="mainForm"
    id="fieldBox_11">
    <label
    class="formFieldQuestion">Zusätzliche Festplatte(n)&nbsp;<a
    class=info href=#><img src=imgs/tip_small.png border=0><span
    class=infobox>Bitte nähere Angaben zu Anzahl und Größe der
    benötigten zusätzlichen Festplatten
    machen</span></a></label><textarea class=mainForm
    name=field_11 id=field_11 rows=5 cols=50></textarea></li>

    <li class="mainForm"
    id="fieldBox_12">
    <label
    class="formFieldQuestion">1. Netzwerkkarte&nbsp;*&nbsp;<a
    class=info href=#><img src=imgs/tip_small.png border=0><span
    class=infobox>Netzwerk auswählen</span></a></label><select
    class=mainForm name=field_12 id=field_12><option
    value=''></option>
    <option class="fett">10.8.0.0-22</option>
    <option value="172.22.0.0-24">172.22.0.0-24</option>
    </select></li>

    <li class="mainForm" id="fieldBox_30">
    <label
    class="formFieldQuestion">Zusätzliche Netzwerkarte(n)&nbsp;<a
    class=info href=#><img src=imgs/tip_small.png border=0><span
    class=infobox>Bitte nähere Angaben zu zusätzlichen Netzwerkkarten
    machen</span></a></label><textarea class=mainForm
    name=field_30 id=field_30 rows=5 cols=50></textarea></li>

    <li class="mainForm"
    id="fieldBox_14">
    <label
    class="formFieldQuestion">Betriebssystem&nbsp;*</label><span>
    <input class=mainForm type=radio name=field_14
    id=field_14_option_1 value="Windows" /><label class=formFieldOption
    for="field_14_option_1">Windows</label>
    <input class=mainForm type=radio name=field_14
    id=field_14_option_2 value="Linux" /><label class=formFieldOption
    for="field_14_option_2">Linux</label>

    <li class="mainForm" id="fieldBox_27">
    <label
    class="formFieldQuestion">Betriebssystem-
    Architektur&nbsp;*</label><span>
    <input class=mainForm type=radio name=field_27
    id=field_27_option_1 value="32-Bit" /><label class=formFieldOption
    for="field_27_option_1">32-Bit</label>
    <input class=mainForm type=radio name=field_27
    id=field_27_option_2 value="64-Bit" /><label class=formFieldOption
    for="field_27_option_2">64-Bit</label>
    </span></li>

    <li class="mainForm"
    id="fieldBox_28">
    <label
    class="formFieldQuestion">Betriebssystemauswahl
    Windows</label><select class=mainForm name=field_28
    id=field_28><option value=''></option>
    <option value="Windows XP Professional">Windows XP
    Professional (nur 32-Bit)</option>
    <option value="Windows 7">Windows 7</option>
    <option value="Windows Server 2003 (Standard)">Windows
    Server 2003 (Standard)</option>
    <option value="Windows Server 2003 (Enterprise)">Windows
    Server 2003 (Enterprise)</option>
    <option value="Windows Server 2008 (Standard)">Windows
    Server 2008 (Standard)</option>
    <option value="Windows Server 2008 (Enterprise)">Windows
    Server 2008 (Enterprise)</option>
    <option value="Windows Server 2008 R2 (nur 64-Bit)">Windows
    Server 2008 R2 (nur 64-Bit)</option>
    </select></li>

    <li class="mainForm"
    id="fieldBox_29">
    <label
    class="formFieldQuestion">Betriebssystemauswahl
    Linux</label><select class=mainForm name=field_29
    id=field_29><option value=''>
    </option><option value="Red Hat Enterprise Linux 2 (nur 32-
    Bit)">Red Hat Enterprise Linux 2 (nur 32-Bit)</option>
    <option value="Red Hat Enterprise Linux 3">Red Hat Enterprise
    Linux 3</option>
    <option value="Red Hat Enterprise Linux 4">Red Hat Enterprise
    Linux 4</option>
    <option value="Red Hat Enterprise Linux 5">Red Hat Enterprise
    Linux 5</option>
    <option value="Red Hat Enterprise Linux 6">Red Hat Enterprise
    Linux 6</option>
    <option value="CentOS 4/5">CentOS 4/5</option>
    <option value="Oracle Linux 4/5">Oracle Linux 4/5</option>
    <option value="Suse Linux Enterprise 8/9">Suse Linux Enterprise
    8/9</option>
    <option value="Suse Linux Enterprise 10">Suse Linux Enterprise
    10</option>
    <option value="Suse Linux Enterprise 11">Suse Linux Enterprise
    11</option>
    <option value="Open Enterprise Server (nur 32-Bit)">Open
    Enterprise Server (nur 32-Bit)</option>
    <option value="Asianux 3">Asianux 3</option>
    <option value="Debian GNU/Linux 4">Debian GNU/Linux
    4</option>
    <option value="Debian GNU/Linux 5">Debian GNU/Linux
    5</option>
    <option value="Ubuntu Linux">Ubuntu Linux</option>
    <option value="Anderes 2.6x Linux-System">Anderes 2.6x Linux-
    System</option>
    <option value="Anderes 2.4x Linux-System">Anderes 2.4x Linux-
    System</option>
    <option value="Anderes Linux-System">Anderes Linux-
    System</option>
    </select></li>

    <li class="mainForm"
    id="fieldBox_15">
    <label
    class="formFieldQuestion">Betriebssystem selbst installieren?
    &nbsp;</label><span><input class=mainForm type=checkbox
    name=field_15 id=field_15_option_1 value="Server soll als leere
    Huelle zur Verfuegung gestellt werden" /><label class=formFieldOption
    for="field_15_option_1">Server soll als leere Huelle zur Verfuegung
    gestellt werden</label></span></li>

    <li class="mainForm"
    id="fieldBox_16">
    <label
    class="formFieldQuestion">Anwendungssoftware&nbsp;<a class=info
    href=#><img src=imgs/tip_small.png border=0><span
    class=infobox>Welche Serveranwendungen werden installiert? (z.B.
    MS-SQL, IIS, etc.)</span></a></label><textarea class=mainForm
    name=field_16 id=field_16 rows=5 cols=50></textarea></li>

    <li class="mainForm"
    id="fieldBox_17">
    <label
    class="formFieldQuestion">Neustart&nbsp;<a class=info href=#><img
    src=imgs/tip_small.png border=0><span class=infobox>Wird der
    Server regelmäßig neu gestartet? (Angabe des Zeitintervalls, z.B. So
    20-21 Uhr)</span></a></label><input class=mainForm type=text
    name=field_17 id=field_17 size='50' value=''></li>

    <li class="mainForm"
    id="fieldBox_18">
    <label
    class="formFieldQuestion">Wartungsfenster&nbsp;<a class=info
    href=#><img src=imgs/tip_small.png border=0><span
    class=infobox>mögliches Wartungsfenster 8Intervall / Zeitraum)
    </span></a></label><input class=mainForm type=text name=field_18
    id=field_18 size='50' value=''></li>

    <li class="mainForm"
    id="fieldBox_19">
    <label
    class="formFieldQuestion">Abhängigkeiten&nbsp;<a class=info
    href=#><img src=imgs/tip_small.png border=0><span
    class=infobox>Bekannte Verbindungen zu anderen Servern /
    Anwendungen</span></a></label><textarea class=mainForm
    name=field_19 id=field_19 rows=5 cols=50></textarea></li>

    <li class="mainForm"
    id="fieldBox_20">
    <label
    class="formFieldQuestion">Containersicherung (Desaster-Recovery-
    Backup)&nbsp;*</label><span>
    <input class=mainForm type=radio name=field_20
    id=field_20_option_1 value="täglich" /><label class=formFieldOption
    for="field_20_option_1">täglich </label>
    <input class=mainForm type=radio name=field_20
    id=field_20_option_2 value="wöchentlich" /><label
    class=formFieldOption for="field_20_option_2">wöchentlich</label>
    <input class=mainForm type=radio name=field_20
    id=field_20_option_3 value="monatlich" /><label
    class=formFieldOption for="field_20_option_3">monatlich</label>
    </span></li>

    <li class="mainForm"
    id="fieldBox_21">
    <label
    class="formFieldQuestion">Zusätzliche Sicherungen&nbsp;<a
    class=info href=#><img src=imgs/tip_small.png border=0><span
    class=infobox>Dateisicherung /
    Datenbanksicherung</span></a></label><textarea class=mainForm
    name=field_21 id=field_21 rows=5 cols=50></textarea></li>

    <li class="mainForm"
    id="fieldBox_22">
    <label
    class="formFieldQuestion">Kommentare / Ergänzende
    Hinweise</label><textarea class=mainForm name=field_22
    id=field_22 rows=10 cols=50></textarea></li>

    <!- end of this page ->

    <!- page validation ->
    <SCRIPT type=text/javascript>
    <!-
    function validatePage1()
    {
    retVal = true;
    if (validateDate
    ('field_1','fieldBox_1','date',1,'2010','') == false)
    retVal=false;
    if (validateField('field_2','fieldBox_2','text',1) == false)
    retVal=false;
    if (validateField('field_3','fieldBox_3','menu',1) == false)
    retVal=false;
    if (validateField('field_4','fieldBox_4','text',1) == false)
    retVal=false;
    if (validateField('field_5','fieldBox_5','email',1) == false)
    retVal=false;
    if (validateDate('field_6','fieldBox_6','date',0,'','') == false)
    retVal=false;
    if (validateField('field_7','fieldBox_7','menu',1) == false)
    retVal=false;
    if (validateField('field_8','fieldBox_8','menu',1) == false)
    retVal=false;
    if (validateField('field_9','fieldBox_9','menu',1) == false)
    retVal=false;
    if (validateField('field_10','fieldBox_10','text',1) == false)
    retVal=false;
    if (validateField('field_11','fieldBox_11','checkbox',0) == false)
    retVal=false;
    if (validateField('field_12','fieldBox_12','menu',1) == false)
    retVal=false;
    if (validateField('field_13','fieldBox_13','text',1) == false)
    retVal=false;
    if (validateField('field_14','fieldBox_14','menu',1) == false)
    retVal=false;
    if (validateField('field_15','fieldBox_15','checkbox',1) == false)
    retVal=false;
    if (validateField('field_16','fieldBox_16','text',0) == false)
    retVal=false;
    if (validateField('field_17','fieldBox_17','text',0) == false)
    retVal=false;
    if (validateField('field_18','fieldBox_18','text',0) == false)
    retVal=false;
    if (validateField('field_19','fieldBox_19','text',0) == false)
    retVal=false;
    if (validateField('field_20','fieldBox_20','radio',1) == false)
    retVal=false;
    if (validateField('field_21','fieldBox_21','text',0) == false)
    retVal=false;
    if (validateField('field_22','fieldBox_22','text',0) == false)
    retVal=false;
    if (validateField('field_27','fieldBox_27','text',1) == false)
    retVal=false;
    if (validateField('field_28','fieldBox_28','text',0) == false)
    retVal=false;
    if (validateField('field_29','fieldBox_29','text',0) == false)
    retVal=false;
    if (validateField('field_30','fieldBox_30','text',0) == false)
    retVal=false;

    if(retVal == false)
    {
    alert('Bitte
    korrigieren Sie die Fehler. Felder mit einem Stern (*) müssen
    ausgefüllt sein!');
    return false;
    }
    return retVal;
    }
    //->
    </SCRIPT>

    <!- end page validaton ->

    <!- next page buttons -><li
    class="mainForm">

    <div id="formHeader1">
    <h3 class="formInfo">* = Pflichtfelder</h3>
    </div>
    <BR/>

    <input
    id="saveForm" class="mainForm" type="submit" value="Absenden" />
    </li>

    </form>
    <!- end of form ->
    <!- close the display stuff for this page ->
    </ul></div><div id="footer"><p class="footer"><a
    class=footer href=http://phpformgen.sourceforge.net>Generated by
    phpFormGenerator</a></p></div>

    </body>
    </html>

    Thanks for your help

     
  • TNTEverett

    TNTEverett - 2010-12-17

    I get the same error as you but I also see that when the page loads, it loads with a message "Done but with errors on the page".
    I will debug and send you my results.  Click on my SourceForge name and send me an email with some other email address I can use to send the file attachment back to you.  Don't put your email address in this forum.

     
  • TNTEverett

    TNTEverett - 2010-12-18

    I have fixed your issues, including the bug that causes FireFox to submit even when required fields are blank. 
    I sent you an email so you can respond with a valid email I can use to send the fixed file back to you. 

     
  • gee em

    gee em - 2010-12-18

    I've sent you an email with my adress.
    Thanks a lot for your support!!

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.