2017-11-06 6 views
2

사용자가 입력 할 수있는 글자 수 제한이 3자인 헤드 라인 입력란이 있습니다. 사용자가 글자 수 한도에 도달하여 더 이상 입력하지 않으면 입력 할 수있는 아래의 스팬 메시지를 빨간색으로 표시하려면 "제목은 3 자 미만이어야합니다."입력란이 글자 수 제한을 초과하는 경우 span 태그 메시지 표시

CoffeeScript 함수를 통해 아래의 스팬 메시지를 빨간색으로 표시해야하는 변경시 클래스를 추가하려고합니다. 그러나 그것은 작동하지 않습니다. 이 문제에 대한 피들 (Fiddle)을 제공했습니다. 또한, 나는 내가 표현하고자하는 기능에 대한 이미지를 보여 주었다. 누구든지 도와 주시면 감사하겠습니다! What I would like span message to display

<label htmlFor="request[title]">Headline</label> 
     <input name="request[title]" id="headline_input" onChange= "headline_input_max" maxLength="3" type="text" 
       placeholder="Give your request a title" 
       required /> 
     <span id="title_over_limit_text">Headline must be under 3 characters.</span> 

$ -> 
    $('#headline_input').change -> 
    if $(this).val().length > 3 
     $('#title_over_limit_text').addClass('title_over_limit_text_display') 


#title_over_limit_text { 
    display: none; 
} 

.title_over_limit_text_display { 
    color: red; 
} 
+0

'headline_input_max' 기능은 어디에 있습니까? 또한 메시지를 보여줄 필요가 있습니다.'.title_over_limit_text_display { color : red; 디스플레이 : 인라인; }' – Morpheus

+0

나는 그 라인을 꺼내는 것을 잊었다. 'headline_input_max'함수를 만들려고했지만 "Headline이 3 문자 미만이어야합니다."라는 메시지가 표시되지 않았습니다. span 메시지. –

답변

1

Fiddle

아래이 작업을 수행합니다 : 그것은 내 관심을 불러 작동하지 않는 경우.

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 

<input name="requesttitle" id="headline_input" onkeyup="seee()" type="text" placeholder="Give your request a title" required /> 
     <span id="title_over_limit_text" style="display:none;">Headline must be under 3 characters.</span> 

     <script> 
     function seee(){ 
    var textval = $("#headline_input").val().length; 
    // alert (textval); to see count of the text number 
    if (textval > 3){ 
     $("#title_over_limit_text").show(); 
     //if maybe you want to run ajax request here you can do that. 
     return false; 
    } else { 
    $("#title_over_limit_text").hide(); 
    return false; 
    } 
    } 
     </script> 

#title_over_limit_text { 
    display: none; 
} 

.title_over_limit_text_display { 
    color: red; 
} 
+0

안녕하세요, @Shasha, 불행히도 작동하지 않았다. 인라인 JavaScript 사용을 피하려고합니다. 이 문제를 해결할 수있는 별도의 CoffeeScript 함수를 갖고 싶습니다. 다른 아이디어가 있다면 알려주십시오! –

+0

@MissyBur Cofeescripts는 긴 코드이지만 코드를 다시 편집하게하십시오. – Shasha

+0

@MissyBur 왜 작동하지 않는 또 다른 이유는 최대 길이가 3 자 이상일 수 없기 때문이며 또한 제 스크립트는 3 자 이상에서만 작동합니다. 여기서는 (textval> 3) {} else { } 내 코드 영역에서. – Shasha