2014-02-11 5 views
0

나는 끌어서 놓기 기능을 통해 양식을 만들고 있는데 하나의 변수에 저장하고 있습니다. 내가 두 변수를 비교 어떻게 사용자가 내가조건을 기반으로 두 가지 양식을 비교하는 방법

var editform = '<form method="POST" name="1" class="form-horizontal wpc_contact" novalidate="novalidate">      

<div class="controls" style="border:0px"> 
    <input type="text" placeholder="Enter Last Name" name="Last Name" class="input-xlarge" req="no">   
</div>       

<div class="controls" style="border:0px" name="Contact time" req="yes">   
    <label class="checkbox inline">   
     <input type="checkbox" value="Day" name="Contact time" id="Contact time_0" req="yes">Day   
    </label>   
    <label class="checkbox inline">   
     <input type="checkbox" value="Night" name="Contact time" id="Contact time_1" req="yes">Night 
    </label>   
    <label class="checkbox inline">   
     <input type="checkbox" value="Any" name="Contact time" id="Contact time_2" req="yes"> Any  
    </label>  
</div>      

<div class="controls" style="border:0px"> 
    <textarea style="min-height: 100px" placeholder="Enter Message" class="input-xlarge" req="yes" name="Message"> 
    </textarea>        
</div>      

<div class="controls" style="border:0px">  
    <button class="btn btn-success">Send</button>  
</div>     
</form> '; 

을 다음과 같이 다른 변수에 저장하고 같은 방법으로 (드래그 앤 드롭 방식)을 통해 동일한 양식을 편집 할 때

var addform = '<form method="POST" name="1" class="form-horizontal wpc_contact" novalidate="novalidate">       
    <div class="controls" style="border:0px"> 
    <input type="text" placeholder="Enter First Name" class="input-xlarge" req="yes" name="First Name"> 
    </div> 

    <div class="controls" style="border:0px">  
    <input type="text" placeholder="Enter Last Name" name="Last Name" class="input-xlarge" req="no">   
    </div>       

    <div class="controls" style="border:0px" name="Contact time" req="yes">   
    <label class="checkbox inline">   
     <input type="checkbox" value="Day" name="Contact time" id="Contact time_0" req="yes">Day   
    </label>   
    <label class="checkbox inline">   
     <input type="checkbox" value="Night" name="Contact time" id="Contact time_1" req="yes">Night 
    </label>   
    <label class="checkbox inline">   
     <input type="checkbox" value="Any" name="Contact time" id="Contact time_2" req="yes"> Any  
    </label>  
    </div>      

    <div class="controls" style="border:0px"> 
    <textarea style="min-height: 100px" placeholder="Enter Message" class="input-xlarge" req="yes" name="Message"> 
    </textarea>        
    </div>      

    <div class="controls" style="border:0px">  
    <button class="btn btn-success">Send</button>  
    </div>     
</form>'; 

을 다음과 같이 이제 제 질문은 사용자에 기초 편집 제가 그것이 SHO 있도록 이름 입력 요소를 제거한 상태/추가에게 상기 경우에 어떤 입력 요소 수정할 때 ..

을 제거한 uld는 "양식에서 요소 하나를 제거했습니다"라고 말합니다..

나는 자바 스크립트/jquery를 통해 가능한지 모르겠다.

+0

왜 두 번째 변수에 html을 추가하기 전에 (컨트롤의 값을 확인하여) 비교하지 않습니까? 그것은 더 쉬울 것이고 적절한 방법이 될 것입니다. – P5Coder

+1

입력 ID 배열을 만들고 HTML 문자열 비교를 시도하지 않고 비교할 것입니다. – Barmar

+0

그런식이 아니라면 두 개의 'html'을 사용하여 JQuery 변수를 만든 다음 두 양식의 컨트롤을 비교할 수 있습니다. – P5Coder

답변

0

먼저 라인의 배열을 형성하기 위해 \ n을하여 휴식 한 다음 라인을 다음 라인으로하고 모두 비교이

덕분에 나를 인도하십시오 때 다음 타의 추종을 불허하는 라인의 차이를 찾을 수있는 차이를 발견 할 수 마지막으로 출력으로 표시합니다.

var form1 = $(addform); 
var form2 = $(editform); 
if(form1.find('div').length != form2.find('div').length) 
    alert('There is change in number of divs.'); 
// and so on... 

또는 당신은 모두의 트리 구조를 탐색 할 수 있습니다 등 만 div의, input의, 편집 해 될 것 몇 가지 공통적 인 컨트롤이있는 경우

+0

때만 내가 추가/입력 된 텍스트 또는 textioa 또는 readio 버튼을 제거 오류가 발생해야합니다. 입력 이름, ID 또는 div 이름 또는 ID를 변경하려고 할 때 오류가 발생해서는 안됩니다. – Kalpit

+0

내가 제공 한 솔루션은 모든 케이스에 대해 프로그래밍 할 수 있습니다.이 논리를 사용하여 프론트 엔드 측에서 전체 파일 비교 도구를 설계했습니다. – Innovation

1

, 당신은 이런 식으로 뭔가를 할 수 아동의 변화가 발견되거나 끝날 때까지 (위의 방법을 사용하여) 양식을 작성하십시오.

+0

제발 봐 http://jsbin.com/loyuv/1/edit 그것의 클래스 이름을 사용하여 보인다 작동하지 않습니다 – Kalpit

관련 문제