2011-06-13 6 views
0

자바 스크립트와 PHP는 현재 매우 낮습니다. 정말 간단하게 만들려고 노력하고 있지만 그냥 할 수 있습니다!아약스의 체크 박스 패스 값

나는 폼을 가지고 있으며 checbox 값 (물론 표시가있는 것들)을 (필요한 모든 파일에 전달하고 체크 박스를 제외하고 전달해야합니다.) 그리고 거기에서부터 전자 메일 (확인란 제외). 여기

내 코드입니다 :

(다시 - 모든 작동하지만 체크 박스와 읽기가 comfterble 수 있도록 나는 다른 것들의 검증과 같은 작은 것들을 제거)

<script type="text/javascript"> 
    jQuery(function() { 

     jQuery(".button").click(function() { 
      // validate and process form 
      // first hide any error messages 
      jQuery('.error').hide(); 

      var name = jQuery("input#name").val(); 

      var email = jQuery("input#email").val(); 

      var phone = jQuery("input#phone").val(); 


      var dataString = 'name=' + name + '&email=' + email + '&phone=' + phone; 
      //alert (dataString);return false; 

      jQuery.ajax({ 
       type: "POST", 
       url: "mitkadmim.php", 
       data: dataString, 
       success: function() { 
        jQuery('#contact_form').html("<div id='message'></div>"); 
        jQuery('#message').html("<h2>Contact Form Submitted!</h2>") 
         .append("<p>We will be in touch soon.</p>") 
         .hide() 
         .fadeIn(1500, function() { 
         jQuery('#message').append("<img id='checkmark' src='images/check.png' />"); 
        }); 
       } 
      }); 
      return false; 
     }); 
    }); 
</script> 


    <div id="mheo"> 

     <div id="contact_form"> 
      <form name="contact" method="post" action=""> 
      <fieldset> 
       <label for="name" id="name_label">שם: </label> 
       <input type="text" name="name" id="name" size="30" value="" class="text-input" /><br/><br/> 

       <label for="email" id="email_label">E-mail: </label> 
       <input type="text" name="email" id="email" size="30" value="" class="text-input" /><br/><br/> 


       <label for="phone" id="phone_label">מס. טלפון</label> 
       <input type="text" name="phone" id="phone" size="30" value="" class="text-input" /><br/><br/> 

     intrested in:<br/> 
       <input type="checkbox" name="kidumchoise[]" value="kidum_esek" />aaa<br /> 
       <input type="checkbox" name="kidumchoise[]" value="mitug_esek" />bbb<br /> 
       <input type="checkbox" name="kidumchoise[]" value="laikim" />CCC<br /> 
       <input type="checkbox" name="kidumchoise[]" value="aher" />DDD<br /> 


       <br /> 
       <input type="submit" name="submit" class="button" id="submit_btn" value="Send" /> 
      </fieldset> 
      </form> 
     </div> 
    </div> 

및 이메일 측

<?php 
    $recipient = '[email protected]'; 
    $name = $_POST['name']; 
    $email = $_POST['email']; 
    $phone = $_POST['phone']; 
    $kidumchoise = $_POST['kidumchoise']; 

    $msg = "Message from: $name\n\n".$_POST['phone']."\n".$_POST['email'].$_POST['kidumchoise']." \n""\n".$_POST['kidumchoise']."\n"; 
    mail($recipient, $name , $msg); 
?> 

내가 뭘 잘못 했니? 다음 코드

+0

@romen 데이터 박스에 추가 된 체크 박스가 보이지 않는다. – Pradeep

+0

나는 그것을 몇 번했지만 아무 것도하지 않았다. – ronen

+0

나는 그것을 추가 할 필요가있다. 그러나 나는 아직 시도하지 않았다. 예를 들면 ... 하지만 전체 솔루션은 무엇입니까? – ronen

답변

4
  var chkElem = document.getElementsByName("kidumchoise[]"); 
      var choice =""; 

      for(var i=0; i< chkElem.length; i++) 
      { 
       if(chkElem[i].checked) 
        choice = choice + chkElem[i].value; 
      } 

      var dataString = 'name='+ name + '&email=' + email + '&phone=' + phone + '&kidumchoise=' +choice; 

추가 라인

   var phone = jQuery("input#phone").val(); 

을 다음 후 덕분에, 그것은 제대로 작동합니다.

+0

와우 나는 너무 오랫동안 당신이 왕이되도록 노력하고있었습니다 !!! – ronen