2010-08-17 4 views
2

PHP 스크립트로 보내려는 jQuery를 사용하여 양식에 값을 가져 오는 중입니다. 글쎄, 대부분의 내 확인란의 이름은 name="input[]"이므로 내 양식의 submit() 처리기에서 반환되는 값을 경고 할 때 해당 이름의 첫 번째 확인란의 값만 반환합니다. 배열 형태로 값을 반환하려면 어떻게해야합니까? 내 양식의jQuery에서 input []의 모든 값을 PHP 스크립트로 보내기 위해

$("form.enquiry").submit(function() { 
    // general enquiry variables 
    var name = ""; 
    var email = ""; 
    var enquiry = ""; 

    // quote enquiry variables 
    var company = ""; 
    var address = ""; 
    var cellphone = ""; 
    var quote_package = ""; 
    var quote_items = ""; 

    // data to be sent to sendEmail.php 
    var data = ""; 

    if ($(this).find("input[name='enquiry_type_chk']:checked").val() == "General") { 
     name = $(this).find("input[name='general_name_txt']").val(); 
     email = $(this).find("input[name='general_email_txt']").val(); 
     enquiry = $(this).find("textarea[name='general_enquiry_txt']").val(); 

     data = "name_txt="+name+"&email_txt="+email+"&enquiry_txt="+enquiry; 
    } 

    if ($(this).find("input[name='enquiry_type_chk']:checked").val() == "Quote") { 
     name = $(this).find("input[name='quote_name_txt']").val(); 
     email = $(this).find("input[name='quote_email_txt']").val(); 
     company = $(this).find("input[name='quote_company_txt']").val(); 
     address = $(this).find("input[name='quote_address_txt']").val(); 
     cellphone = $(this).find("input[name='quote_cell_txt']").val(); 
     quote_package = $(this).find("input[name='quote_package_chk[]']").val(); 
     quote_items = $(this).find("input[name='quote_item_chk[]']").val(); 

     data = "name_txt="+name+"&email_txt="+email+"&company_txt="+company+"&address_txt="+address+"&cellphone_txt="+cellphone+"&quote_package_txt="+quote_package+"&quote_items_txt="+quote_items; 

     alert(data); 
    } 


    return false; 
}); 

및 부품 : 사전에

... 
<td><input type="checkbox" name="quote_item_chk[]" id="quote_package_chk" value="Login member area" class="power toolbox quote_item_chk" /> 
<label for="quote_package_chk" class="nostyle item power toolbox">Login/member area</label></td> 
<td><input type="checkbox" name="quote_item_chk[]" class="quote_item_chk basic power toolbox" id="quote_package_chk" value="Photo video gallery" /> 
<label for="quote_package_chk" class="nostyle item basic power toolbox">Photo and/or video gallery</label></td> 
<td><input type="checkbox" name="quote_item_chk[]" id="quote_package_chk4" class="quote_item_chk" value="Portfolio" /> 
<label for="quote_package_chk4" class="nostyle item">Portfolio (gallery + custom descr.)</label></td> 

감사

여기 내 코드입니다.

+1

당신이 직렬화 사용할 수있는 사용하기 쉬울 것 데이터와 같은 문자열을 생성합니다. 또는 serializeArray()를 사용하여 모든 양식 요소를 배열로 가져올 수 있습니다. –

답변

2

당신 수 (대신 첫 번째에서 작동 그룹에 val()를 호출) 반환 된 요소를 루프,하지만 바퀴를 개혁 중지하고 단지 serialize

+0

고맙다. 나는'serialize()'를 사용하지 않을 것이라고 생각했다. –

관련 문제