2012-04-02 3 views
0

.prev('label')을 사용하여 레이블에서 이전 텍스트를 가져 오지만 어떻게 데이터 또는 텍스트를 레이블에서 2 단계 뒤로 가져올 수 있습니까?이전 태그 텍스트를 추출하는 방법

다음 코드에서 데이터를 가져올 수있는 것과 같습니다.

HTML :

<tr> 
    <td width="25%">Name</td> 
    <td width="75%"><input type="text" name="name" id="name" class="requiredField" /></td> 
</tr> 

자바 스크립트 :

<script type="text/javascript"> 
$(document).ready(function() { 
    $('form#sponsorshipForm').submit(function() { 
     $('form#sponsorshipForm .error').remove(); 
     var hasError = false; 
     $('.requiredField').each(function() { 
      if(jQuery.trim($(this).val()) == '') { 
       var labelText = $(this).prev('label').text(); 
       $(this).parent().append('<span class="error">You forgot to enter your '+labelText+'.</span>'); 
       hasError = true; 
      } else if($(this).hasClass('email')) { 
       var emailReg = /^([\w-\.][email protected]([\w-]+\.)+[\w-]{2,4})?$/; 
       if(!emailReg.test(jQuery.trim($(this).val()))) { 
        var labelText = $(this).prev('label').text(); 
        $(this).parent().append('<span class="error">You entered an invalid '+labelText+'.</span>'); 
        hasError = true; 
       } 
      } 
     }); 
     if(!hasError) { 
      $('form#sponsorshipForm li.buttons button').fadeOut('normal', function() { 
       $(this).parent().append('<img src="/wp-content/themes/td-v3/images/template/loading.gif" alt="Loading&hellip;" height="31" width="31" />'); 
      }); 
      var formInput = $(this).serialize(); 
      $.post($(this).attr('action'),formInput, function(data){ 
       $('form#contactForm').slideUp("fast", function() {     
        $(this).before('<p class="thanks"><strong>Thanks!</strong> Your email was successfully sent. I check my email all the time, so I should be in touch soon.</p>'); 
       }); 
      }); 
     } 

     return false; 

    }); 
}); 
</script> 

은 어떻게 추출 할 수있다 "이름"내가 여기 라벨을 사용하고 있지 않다 때문이다.

당신에게

+0

현재 사용중인 JavaScript도 함께 표시하십시오. –

+0

코드가 추가되었습니다. – Muzammil

답변

-1

이상한 .prev을하려고 정지()와 같은 점점 텍스트를 감사합니다. 그냥 ... 정의와 텍스트가 자바 스크립트 사전에 전체 객체 데이터를 추가하고 그래서 같은 추가 정보를 얻을 수있는 입력의 ID 또는 이름을 참조 .... <input type="" custom-text="Name" /> 같은 속성 또는 추가

var a = {}; 

a["name"] = { name: "Name" } 

function getData(which) 
{ 
    return a[which]; 
} 

... 그런 식으로 ....하지만 HTML을 위아래로 걷지 마십시오.

관련 문제