Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Inserire una checkbox per abilitare un tasto

    Ciao a tutti, ho questa pagina di codice

    Codice PHP:
    <?php
    /*
    Template Name: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    */
    ?>  
    <?php get_header();?>

        <?php
          $info_address 
    get_option('ecobiz_info_address');
          
    $info_phone get_option('ecobiz_info_phone');
          
    $info_fax get_option('ecobiz_info_fax');
          
    $info_emailget_option('ecobiz_info_email');
          
    $info_website get_option('ecobiz_info_website');
          
    $info_latitude get_option('ecobiz_info_latitude') ? get_option('ecobiz_info_latitude') : "-6.229555086277892";
          
    $info_longitude get_option('ecobiz_info_longitude') ? get_option('ecobiz_info_longitude') : "106.82551860809326";
        
    ?>
                    
          <?php
            
    global $post;
            
    $page_slideshow_type get_post_meta($post->ID,"_page_slideshow_type",true);
            
    $slideshow_cat get_post_meta($post->ID,"_page_slideshow_category",true);
            
    $heading_image get_post_meta($post->ID,"_heading_image",true);
            
    $bgtext_heading_position get_post_meta($post->ID,"_bgtext_heading_position",true);
            
    $page_short_desc get_post_meta($post->ID,"_page_short_desc",true);
            
    $slideshow_order get_option('ecobiz_slideshow_order') ? get_option('ecobiz_slideshow_order') : "date";
          
    ?>      
          <?php if ($page_slideshow_type =="" || !isset($page_slideshow_type) || $page_slideshow_type == "None" ) { ?>
             
            <div id="page-heading">
              [img]<?php echo $heading_image $heading_image get_template_directory_uri().'/images/page-heading.jpg';?>[/img]
              <div class="heading-text<?php if ($bgtext_heading_position =="right") echo '-right';?>">
                <h3><?php the_title();?></h3>
                

    <?php echo $page_short_desc;?></p>
              </div>
            </div>
            
          <?php } else { ?>
            <?php
            
    if ($page_slideshow_type !="None"  || $page_slideshow_type == "Nivo slider" || $page_slideshow_type == "Kwicks slider") {
              if (
    $page_slideshow_type == "Nivo slider") {
                
    get_nivoslider($slideshow_cat,$slideshow_order);
              } else if (
    $page_slideshow_type == "Kwicks slider") {
                
    get_kwicksslider($slideshow_cat,$slideshow_order);
              }
            }
            
    ?>
          <?php ?>
          <div class="clear"></div>
          
          <div class="center">
            <?php $enable_breadcrumbs get_option('ecobiz_enable_breadcrumb');?>
            <?php if ($enable_breadcrumbs =="true") { ?>
              <div class="breadcrumb">
                <?php if ( function_exists'breadcrumbs_plus' ) ) breadcrumbs_plus(); ?>
              </div>
            <?php ?>
            
            <div class="maincontent-full">
              
              <div id="conctactleft">
                <?php if (have_posts()) : ?>
                <?php while (have_posts()) : the_post();?>
                <?php the_content();?>
                <?php endwhile;?>
                <?php endif;?>
                
                <?php $success_msg  get_option('ecobiz_success_msg');?>
                <div class="success-message"><?php echo ($success_msg) ? stripslashes($success_msg) : __("Your message has been sent successfully. Thank you!",'ecobiz');?></div>
                
                <div id="maincontactform">
                  <form action="#" id="contactform"> 
                  <div>
                    <label for="contactname"><?php echo __('Name ','ecobiz');?></label>
                    <input type="text" name="contactname" class="textfield" id="contactname" value=""  /><span class="require"> *</span>
                    <label for="contactsubject"><?php echo __('Subject ','ecobiz');?></label>
                    <input type="text" name="contactsubject" class="textfield" id="contactsubject" value=""/><span class="require"> *</span>
                    <label for="contactemail"><?php echo __('E-mail ','ecobiz');?></label> 
                    <input type="text" name="contactemail" class="textfield" id="contactemail" value="" /><span class="require"> *</span>
                    <label for="contactmessage"><?php echo __('Message ','ecobiz');?></label> 
                    <textarea name="contactmessage" id="contactmessage" class="textarea" cols="8" rows="12"></textarea><span class="require"> *</span>
                    <div class="clear"></div>
                    <input type="hidden" name="siteurl" id="siteurl" value="<?php echo get_template_directory_uri();?>" />   
                    <input type="hidden" name="sendto" id="sendto" value="<?php echo (get_option('ecobiz_info_email')) ? get_option('ecobiz_info_email') : get_option('admin_email');?>" />           
                    [url="#"]<span><?php echo __('SEND','ecobiz');?></span>[/url]
                    <input type="checkbox" name="informativa" value="informtiva">Marcando questa casella, accetti l'informativa sulla privacy
    <span class="require"> *</span>
                    <span class="loading" style="display: none;"><?php echo __('Please wait..','ecobiz');?></span>
                  </div>
                  </form>
                </div>
              </div>
              
              
              
              <div id="contactright">
                
                <div id="map" class="imgbox">
                  <?php echo theme_widget_text_shortcode(do_shortcode('[gmap width="424" height="246" latitude="'.$info_latitude.'" longitude="'.$info_longitude.'"  controls="true" zoomcontrol="true" zoom="15" html="'.$info_address.'" popup="true"]'));?>
                </div>
                    
                <ul class="contactinfo">[*]
                  <?php echo $info_address stripslashes($info_address) : "
                  Jln. Damai menuju Syurga No. 14,

                Jakarta 20035,

                Indonesia"
    ;?>[*][b]<?php echo __('Phone','ecobiz');?>[/b] : <?php echo $info_phone;?>
                  <?php if ($info_fax !="") { ?>[*][b]<?php echo __('Fax','ecobiz');?>[/b] : <?php echo $info_fax;?>
                  <?php ?>[*][b]<?php echo __('Email','ecobiz');?>[/b] : [email="<?php echo $info_email $info_email "]"><?php echo $info_email;?>[/email]

                  [b]<?php echo __('Website','ecobiz');?>[/b] : [url="http://<?php echo $info_website $info_website "]"><?php echo $info_website;?>[/url][/list]
                <div class="clear"></div>
              </div>
                        
            </div>
            
        
    <?php get_footer();?>
    La mia necessità è inserire accanto al tasto per inviare il messaggio, una checkbox che se non viene flaggata, non fa inviare il messaggio.

    Il codice da cui ero partito era quello della checkbox classica, però non riesco a collegarlo bene al tasto. Potete vedere dove ho inserito la checkbox provvisoria all'interno del sito cercando checkbox, se vi serve il sito dove poter vedere graficamente la pagina, basta chiedere.

    Mi potete suggerire come fare? Grazie

  2. #2
    Devi usare javascript. Con Jquery dovrebbe essere:

    codice:
    $("#check").click(function() {
      $("#button").attr("disabled", !this.checked);
    });
    Fabzine.it: Il blog italiano sulla digital fabrication

  3. #3
    questo codice lo devo inserire così come me lo hai postato di seguito al codice della check o lo devo riadattare? Scusa ma jquery per me è sconosciuto

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Supponendo che questo qui sia la checkbox
    codice:
    <input type="checkbox" name="informativa" value="informtiva" onclick="(this.checked)?document.getElementById('qui-metti-id-del-tasto-che-vuoi-abilitare').removeAttribute('disabled'):document.getElementById('qui-metti-id-del-tasto-che-vuoi-abilitare').setAttribute('disabled','disabled')">Marcando questa casella, accetti l'informativa sulla privacy
    <span class="require"> *</span>
    Attenzione devi inserire ed usare attributo id dell'oggetto e lo stesso deve essere o di tipo un button o submit e di default devi impostarlo disabilitato
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Ciao ho provato a inserire la riga di codice come avete suggerito, in particolare collegandolo al codice scritto sul primo post

    Codice PHP:
    <input type="checkbox" name="informativa" value="informativa" onclick="(this.checked)?document.getElementById('buttonsend').removeAttribute('disabled'):document.getElementById('buttonsend').setAttribute('disabled','disabled')">Marcando questa casellaaccetti l'informativa sulla privacy 
    Però il tasto continua a rimanere lì senza far nulla, seppur controllando con firebug sembra avere l'attributo "disabled" non capisco cosa sbagli

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Te l'ho anche detto l'oggetto (tasto) deve essere button o submit mentre tu vuoi disabilitare un href (non supportato) non potrà mai funzionare così
    <span><?php echo __('SEND','ecobiz');?></span> <-cambia in button/submit
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Poi ovviamente devi includere Jquery...
    Fabzine.it: Il blog italiano sulla digital fabrication

  8. #8
    provato e rirprovato ma non riesco a farlo funzionare...

    a questo punto stavo pensando: se inserisco l'href in un div e poi tramite la checkbox faccio apparire/scomparire il div, risolvo alla radice in quanto se la checknon è abilitata non appare proprio il tasto.

    In questo caso però ho creato il div ma non so se impostando la visibilità su hidden per default, tramite la check riesco per l'appunto a visualizzarlo di nuovo.

    Suggerimenti?

  9. #9
    Alla fine ho risolto come detto sopra, ho creato una checkbox che nasconde direttamente un div che racchiude il tasto se la check non è flaggata

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.