2012-03-10 4 views
2

내가 직접 복제 '버튼을'앞의 잘 지내 필드의 ID와 이름을 이름을 변경 입력 필드를 복제하는 몇 가지 코드 (아래 그림 참조)가 필드 : -jQuery를 할 수 없습니다

$(".clone").live('click', function() { 
var doppleganger = $(this).prev(); // Neater referencing. 
    $(doppleganger).clone().insertAfter(doppleganger); 

$(this).prev().attr("id", "input" + increment).attr("name", "input" + increment); 

    increment++; 

return false; 

}); 

. 양식 (#adv_magic) 데이터는 JQuery와 아약스 이벤트와 즉석에서로드 thusly 히 제출 : -

$("#adv_magic").live('submit', function() { 

$("#editor_button, #date_select, #search").hide(); 
$(".loader").show(); 

$.ajax({ 
    type: "POST", 
    url: "./scripts/aquire_template.php", 
    data: $("#adv_magic").serialize(), 
    success: function(html){ 
     $("#right_container").empty(); 
     $(".loader").fadeOut(350); 
      $("#right_container").html(html); 
    } 
}); 
return false; 

}); 

그러나 양식이 내 스크립트에 게시 할 때 내 복제 된 입력 필드가 처리되지 않습니다. 배열로 입력 필드를 만드는 방법에 대한 자습서를 보았습니다.하지만 할 수있는 일이 있으면이 단계에서 그걸 사용하지 마십시오.

내가 양식을 직렬화하는 것과 관련이 있다면 궁금합니다. 불행히도 웹에서 응용 프로그램을 사용할 수 없으므로 전체 코드 또는 링크를이 기회에 게시 할 수 없습니다. 이것에 대한 어떤 생각이라도 정말 고맙겠습니다! 나는 곤두박질 친다!

업데이트 (토) 10 일 그리니치 표준시 20시 31분> 내가 불을 지르고에서 콘솔> 포스트 탭에서 다음과 같은 보고서를 가지고 : - 5/6/7 복제하는 요소 때문에 아마도 그들이

input1 meeting 
input2 select date 
input3 enter text 
input5 NUMBER MISSING 
input6 enter text 
input7 test 
switch 1 

Source 
input1=meeting&input2=select+date&input3=enter+text&input6=enter+text&input7=test&input5=NUMBER+MISSING&switch=1 

입력을 스크립트에 전달되는거야? 이 스크립트에 의해 처리되기 전에 문자열 변수 반향

업데이트 토 10은 그리니치 표준시 21시 06분> 복제 입력 필드의 비를 나타낸다.

+0

먼저 항상 브라우저 콘솔에서 아약스 요청을 확인하고 전송 PARAMS보고 있습니다 ... 그것이 내가했습니다 솔직히 말해서 클라이언트 측 또는 서버 측 문제 – charlietfl

+0

인지 말할 도움이 될 것입니다 FF 10+에서 그 위치를 확인하는 방법을 알지 못했습니까? – KryptoniteDove

+0

Chrome에서 F12를 누르거나 FF로 Firebug를 설치 한 경우 Firebug 내 즐겨 찾기 – charlietfl

답변

1

이것은 나를 위해 일했습니다.

<form id="myForm"> 
    <fieldset> 
     <input type="text" id="input1" name="input1"/><input type="button" value="clone" class="clone"/> 
    </fieldset> 
    <input type="submit" value="submit" id="sbmt"/> 
</form> 


$(".clone").live("click", function(e) { 
    var count = $("#myForm fieldset").length + 1; 
    $(this).parent().clone().insertBefore("#sbmt").find("input[type=text]").attr({ 
     "id": "input" + count, 
     "name": "input" + count 
    }).val(""); 
}); 


$("#myForm").submit(

function(e) { 
    e = e || window.event; 
    e.preventDefault(); 

    $.ajax({ 
     type: "GET", 
     url: "/", 
     data: $("#myForm").serialize(), 
     success:function(data){ 
     } 
    }); 
    return false; 

}); 

데모 : http://jsfiddle.net/wFzx5/2/

+0

이 답변은 의심의 여지없이 미래에 누군가를 도울 것이기 때문에 좋은 대답에 대한 찬성표를 던지며,이 경우 나를 위해 일하지 않습니다. – KryptoniteDove

관련 문제