Problems, need help? Have a tip or advice? Post it here.
14 posts Page 2 of 2
Hi Kamran!

yes, PHP works great....

the only little strange thing is, that when I check the checkbox 2 or 3 leaving the related text field empty, and click on next, I do get the error message as it should be, but the checkboxes are deselcted then (below is showing the error message)...checkbox 1 is working fine...
and I just noticed : besides this 3 checkboxes with textfield, I have separetly two more groups of just checkboxes...

After "Next" button is clicked, when I have errors due to empty required fields, some of them do stay checked and some are deselected....

It seems to me my code is ok....

What could that be?


tanja
Tanja,

Let us put aside the conditional check for the time being.
Please complete your form. Once *all* the elements are in place, get it to me and we can work out the PHP required at that stage. It'll be a moving target otherwise.

Thanks.
HI KK!

You are right! Sorry, I thought I will figure it out for the whole form from the parts...
So, here is the page, I ripped it off the style and left the form...

There is a part of the form with required fields, and those are personal data. Everything else is optional, but something should be selected. The first three check boxes have those text fields, that should be required only if the related check box is checked... I left there required=pass_require....

Another thing is, that if the user does not check any of the check boxes, the form should not be sent , it should say "You have to select at least one educational option"... In the moment, if nothing is checked, it can be sent anyway, because only inputs with personal data have the require='1' .....

Here is the code. Thanks!

Code: Select all
<?php require_once ('../couch/cms.php') ; ?>
<cms:set my_lang ='de' 'global' />
   
<cms:template title="de Anmeldung" clonable='0' hidden='1'>
  <cms:editable type='relation' name='english_version' masterpage='en/anmeldeformular.php' has='one' reverse_has='one'/>     
</cms:template>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//DE" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--[if lt IE 7]> <html class="ie6 oldie"> <![endif]-->
<!--[if IE 7]>    <html class="ie7 oldie"> <![endif]-->
<!--[if IE 8]>    <html class="ie8 oldie"> <![endif]-->
<!--[if gt IE 8]><!-->
<html xmlns="http://www.w3.org/1999/xhtml" class="">
<!--<![endif]-->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/>
<title></title>
<link href="<cms:show k_site_link />/css/form.css" rel="stylesheet" type="text/css">
<cms:embed 'links.html' />
<script src="<cms:show k_site_link />/js/respond.min.js"></script>
<script src="<cms:show k_site_link />/js/jquery.min.js"></script>
<script src="<cms:show k_site_link />/js/jquery.slicknav.js"></script>
<script type="text/javascript">
$(document).ready(function(){
   $('#menu').slicknav();
});
</script>
<cms:embed 'analytics.html' />
</head>
<body>
<div class="gridContainer clearfix">
<!-- ======== HEADER ============ -->
<!-- ======== Content ============ -->
<div id="contentliquid">
  <div id="content">
<!-- ======== FORM ============ -->
  <cms:form method='post' anchor='1' class="formular">
        <!-- Set the total number of steps (sub-forms) in this form -->
   <cms:set total_pages = '2' />
   <cms:embed 'multi_form_handler.html' />
   <cms:if k_current_step gt total_pages >
<p><strong> Ihre Anmeldung ist übermittelt und eine Kopie wurde an Ihre E-Mail Adresse (<cms:show frm_email /> ) versendet.</strong></p>
<cms:embed 'feedback_de.html' />
<cms:send_mail from=k_email_from to=k_email_to subject='Neue Anmeldung '>
<cms:embed 'feedprivate_de.html' />
</cms:send_mail>
<cms:send_mail from=k_email_from to=frm_email subject='Ihre Anmeldung '>
<cms:embed 'mail_de.html' />
</cms:send_mail>
<cms:else/>
  <cms:if k_current_step='1' >
  <!-- ======== FORM Felder ============ -->
   <h3>Anmeldung </h3>
<hr class="line" />
<cms:input type="radio" name="pol" value='0' opt_values="Herr=Herr | Frau=Frau"/>
<cms:if k_error_pol>
<p class='error_lang'> Zutreffendes bitte auswählen</p>
</cms:if>

<label for="name" class="r_label">Vorname*</label>
<cms:input type="text" size="23" maxlength="150" name="name" required='1'  />
<cms:if k_error_name>
<p  class='error'>Bitte dieses Feld ausfüllen</p>
</cms:if>

<label for="surname" class="r_label">Familienname*</label>
<cms:input type="text" size="23" maxlength="150" name="surname" required='1' />
<cms:if k_error_surname>
<p  class='error'>Bitte dieses Feld ausfüllen</p>
</cms:if>
    
<label for="phone" class="r_label">Telefon (mit Vorwahl)*:</label>
<cms:input type="text" size="23" maxlength="30" name="phone" required='1'/>
<cms:if k_error_phone>
<p  class='error'>Bitte dieses Feld ausfüllen</p>
</cms:if>
    
<label for="email" class="r_label">E-Mail*:</label>
<cms:input type='text' size='23' maxlenght='100' name='email' required='1' validator='email'/>
<cms:if k_error_email>
<p  class='error'>Bitte E-Mail Adresse angeben</p>
</cms:if>
    
<!-- L A N G U A G E-->
<span class="f_down_label">Sprachkenntnisse* </span>
<cms:input type='checkbox' name='flang' opt_values="Ich verfüge über gute Englischkenntnisse=gute Englischkenntnisse | Ich verfüge über gute Deutschkenntnisse=gute Deutschkenntnisse" required='1'/>
  <cms:if k_error_flang>
    <p class="error">Bitte eine Sprache auswählen </p>
  </cms:if>
<!-- L A N G U A G E end-->
<hr class="line" />
  <!--FORM PART 2-->
<div class="t_date_label">(Multiple choice)</div>
    <br style="clear:both;"/ >
<!-- C O U R S E S-->
<span class="f_down_label">Kurse</span>
<div id="tab1" class="content_tab">
<cms:input type='checkbox' name='kurs1' opt_values="Grundprinzipien des polyphonen Spiels=Grundprinzipien des polyphonen Spiels:  02. Mär. - 14. Mär. 2015 "/><span class="t_date_label">( 02. M&auml;r. - 14. M&auml;r. 2015 )</span>
<br style="clear:both;"/ ><br />
<span class="normal">Gewünschtes Repertoire  (Komponist, Werk ):</span>
<br style="clear:both;"/ >
<cms:input type='textarea'  rows="4" cols="30"  wrap="physical" name="work1"  required=pass_required_1/>
<cms:if k_error_work1><p class="error">Bitte Repertoire eingeben </p></cms:if>               
       

<cms:input type='checkbox' name='kurs2' opt_values="Grundprinzipien der Klangästhetik=Grundprinzipien der Klang&auml;sthetik: 13. Apr.- 25. Apr. 2015 "/><span class="t_date_label">( 13. Apr.- 25. Apr. 2015 )</span>
<span class="normal">Gewünschtes Repertoire  (Komponist, Werk ):</span>
<br style="clear:both;"/ >
<cms:input type='textarea'  rows="4" cols="30"  wrap="physical" name="work2" required=pass_required_2/>
<cms:if k_error_work2><p class="error">Bitte Repertoire eingeben </p></cms:if>   

<cms:input type='checkbox' name='kurs3' opt_values="Anleitung zum effizienten Üben=Anleitung zum effizienten &Uuml;ben: 08. Jun. - 20. Jun. 2015"/><span class="t_date_label">( 08. Jun. - 20. Jun. 2015 )</span>
<br style="clear:both;"/ ><br />
<span class="normal">Gewünschtes Repertoire  (Komponist, Werk ):</span>
<br style="clear:both;"/ >
<cms:input type='textarea'  rows="4" cols="30"  wrap="physical" name="work3" required=pass_required_3 />
<cms:if k_error_work3><p class="error">Bitte Repertoire eingeben </p></cms:if>   
</div>
<!-- C O U R S E S END-->
   
<!-- workshops-->
<span class="f_down_label">Workshops</span>
<div id="tab2" class="content_tab">

        <cms:input type='checkbox' name='wshop1' opt_values="Polyphones Klavierspiel=Polyphones Klavierspiel: 19. Feb. - 20. Feb. 2015"/><span class="t_date_label">( 19. Feb. - 20. Feb. 2015 )</span>

<cms:input type='checkbox' name='wshop2' opt_values="C. V. Alkan – Portrait eines Genies=C. V. Alkan – Portrait eines Genies: 26. Feb.- 27. Feb. 2015"/><span class="t_date_label">( 26. Feb.- 27. Feb. 2015 )</span>
   
<cms:input type='checkbox' name='wshop3' opt_values="Psychologische Aspekte der Klaviertechnik=Psychologische Aspekte der Klaviertechnik: 25. Mär.- 26. Mär. 2015"/><span class="t_date_label">( 25. M&auml;r.- 26. M&auml;r. 2015 )</span>

<cms:input type='checkbox' name='wshop4' opt_values="Klangperspektive am Klavier=Klangperspektive am Klavier: 08. Mai - 09. Mai 2015"/><span class="t_date_label">( 08. Mai - 09. Mai 2015 )</span>

<cms:input type='checkbox' name='wshop5' opt_values="Alkan versus Liszt=Alkan versus Liszt: 19. Mai - 20. Mai 2015 "/><span class="t_date_label">( 19. Mai - 20. Mai 2015 )</span>
   
<cms:input type='checkbox' name='wshop6' opt_values="Alkan versus Chopin=Alkan versus Chopin: 29. Mai - 30. Mai 2015"/><span class="t_date_label">( 29. Mai - 30. Mai 2015 )</span>

</div>
<!-- workshops end-->

<!-- intensivecoaching-->
<span class="f_down_label">Intensivecoaching</span>
    
<cms:input type='checkbox' name='intense' opt_values="1 Einzelsession (60 Minuten)=1 Einzelsession (60 Minuten) | 5er Block (5 Einheiten &aacute; 60 Minuten)=5er Block (5 Einheiten &aacute; 60 Minuten) | 10er Block (10 Einheiten &aacute; 60 Minuten)=10er Block (10 Einheiten &aacute; 60 Minuten)"  />
<!-- intensivecoaching end -->

</cms:if><!-- STEP 1 END -->
      
<!-- STEP 2 BEGIN -->      
<cms:if k_current_step='2' >
<cms:embed 'anmeldungstep2.html' /> <!-- this is the part that outputs what is filled in in the step one -->

   <!-- AGB-->
  <cms:input type='checkbox' opt_values='* Ich habe die Allgemeinen Geschäftsbedingungen der C.V. Alkan Society of Vienna gelesen.=Ich habe die Allgemeinen Geschäftsbedingungen der C.V. Alkan Society of Vienna gelesen' name='agb' required='1' />
<cms:if k_error_agb> <p class="error_lang">Akzeptieren Sie die Allgemeinen Gesch&auml;ftsbedingungen</p> </cms:if>

  <cms:input type='checkbox' opt_values='* Ich erkläre mich einverstanden, dass die hier angeführten Daten ausschließlich für die Alkan Society of Vienna - Zwecke verarbeitet werden. Es erfolgt keine Weitergabe an Dritte.= Ich erkläre mich einverstanden, dass die hier angeführten Daten ausschließlich für die Alkan Society of Vienna - Zwecke verarbeitet werden. Es erfolgt keine Weitergabe an Dritte.' name='daten' required='1' />
<cms:if k_error_daten> <p class="error_lang">Erklären Sie sich einverstanden zur Datenverarbeitung.</p></cms:if>
</cms:if>

   <!-- SEND -->
       <cms:if k_current_step gt '1'><input type="submit" name="back" value="Zur&uuml;ck" class="buttonS"></cms:if>
      
         <input type="submit" name="next" value="<cms:if k_current_step=total_pages>Senden<cms:else />Weiter</cms:if>" class="buttonS">
      
  <!-- <cms:input name="submit" type="submit" value="absenden" class="buttonS" /> -->
     </cms:if>
  </cms:form>
 
<!-- ======== FORM end ============ -->
  </div></div>
          <!-- ======== right column ============ -->
        <div id="rightcolumn">
        <cms:embed 'rightcol-de.html' />
        </div>

         <!-- ======== right column END============ -->
  <div id="footer">
         
<cms:embed 'footer.html' />
 
        </div>
</div>
</body>
</html>
<?php COUCH::invoke (); ?>


Tanja
Hi KK...

regarding the issue, that check boxes would uncheck if the next step canto fo, because some of required fields was empty - it seems that problem was made by the special HTML characters for German, that I used in the opt_value.

I noticed that English version does not have that problem and changed &uuml; in üm &auml; in ä etc... so check boxes behave fine now....

Tanja
14 posts Page 2 of 2
cron