2013-08-30 1 views
0

기존 코드를 가지고 놀고 있는데 jQuery를 약간 추가하여 약간 현대적으로 만들려고합니다. 여기 내 코드는 다음과 같습니다.양식이 상쾌하게 유지됩니다.

<form stuff> 
<div class="inputContainer"> 
     <input placeholder="Name" type="text" name="FullName" id="FullName" class="cat_textbox" maxlength="255" /> 
    </div> 
<!--Other stuff and submit--> 
</form> 

<script> 
$(document).ready(function(e) { 
    $('#FullName').keyup(function(e) { 
     var fullName = $(this).val(); 
     if(fullName.length > 5){ 
      alert("greater than 5"); 
     } 
     else{ 
      var $toAppend = $(' div ') 
       .addClass(' result ') 
       .html('Length is not greater than 5'); 
      $toAppend.after(this); 


     } 
    }); 

}); 

</script> 

추가하려고하면 페이지가 새로 고침됩니다. inspect 요소를 보면 거기에는 아무 것도 없습니다! 그것을 알아낼 수 없습니다. 이 문제를 어떻게 해결할 수 있습니까?

답변

1

난 당신이 원하는 생각 :

var $toAppend = $('<div>') 

하지

var $toAppend = $(' div ') 

첫 번째는 새로운 <div>한다; 두 번째는 페이지에있는 <div>을 선택하고 그 다음에 after(this)을 이동/복사 (?)합니다.

+0

나는 그런 바보 야! 내가 태그를 잊어 버린 것을 믿을 수 없어 .. 정말 고마워! 또한 구문을 이후에서 으로 변경했습니다. $ (this) .parent(). append ($ toAppend); –

+0

이 기능이 제대로 작동합니까? 제게'after()'가 잘못되어있는 것처럼 보입니다. -'$ toAppend'에'this '를 덧붙이겠습니다. –

+0

@Rowenia는 더 크고 작게 덧붙일 필요가 있다는 점에서 옳 습니다만, 해결할 것 같지 않습니다. 새로 고침의 질문. 마지막 줄을 변경해야합니다 : http://jsfiddle.net/Q3n3v/. 그것을 그대로 유지하고 싶다면'after()'대신 ['insertAfter()'] (http://api.jquery.com/insertAfter/)를 사용해야합니다. –

관련 문제