2012-12-11 6 views
0

기본 '값'대신 일부 동적 작업이 대신 사용됩니다. 입력 상자에는 기본값이 있으며 사용자 클릭 수와 기본값은 삭제됩니다. 사용자는 아무 것도 남기지 않고 기본값을 다시 표시합니다. 여태까지는 그런대로 잘됐다.입력 상자에 아무 것도 입력하지 않으면 ONFOCUS/ONBLUR이 빈 값 대신 기본값을 제출합니다.

사용자가 양식을 제출하고 이름 필드를 비워 둘 때마다 아무 것도 없거나 빈 필드 대신 기본값으로 결과가 표시됩니다.

<input style="width:95%;" type="text" name="email" 
onfocus="if(this.value==this.defaultValue)this.value=''" 
onblur="if(this.value=='')this.value=this.defaultValue" 
value="<?php echo $entry_email; ?>" maxlength="27" size="50" /> 

나는 S.O.을 읽었습니다. 잠시 동안 onfocus 대신 onclick과 같은 다른 옵션을 말하십시오. 또한, 모든 사람들은 그 기능을 처리하기 위해 코드를 변경하는 것이 좋습니다. 그리고 그것은 모든 것이 혼란의 큰 공에서 함께 혼합되는 곳입니다. 나는이 질문이 계속 반복적으로 요구되었지만 모두 js 코드 업데이트를 포함한다는 것을 알고있다.

위의 코드를 약간 수정할 수 있으므로 기본 값이 채워져 있거나 비어 있지만 기본값을 제출하지 않았는지 확인하는 것이 좋습니다.

감사합니다.

답변

0

사용자가 제출 버튼을 클릭하면 텍스트 입력이 onblur 이벤트를 먼저 트리거 한 다음 양식이 제출됩니다. 그래서 당신은 기본값을 제출하고 있습니다. 양식 제출 이벤트의 값과 일치하는 기본값을 점검하십시오.

0

html 코드와 js 코드를 분리하십시오. jquery를 사용하면 쉽게 배울 수 있습니다.

<input style="width:95%;" type="text" id="email" name="email" value="<?php echo $entry_email; ?>" maxlength="27" size="50" /> 
<script language="javascript" src="http://code.jquery.com/jquery.min.js"></script> 
<script language="javascript">   
$('#email').blur(function() { 
      $('#email').val(defaultValue); 
     }); 
</script> 

사용자의 이메일 값이 기본값과 같은지 확인한 다음 양식 제출을 중단하십시오.

+0

예제가 훌륭합니다. 이해할 수 있습니다. 그래서 코드를 변경했는데 아무 일도 일어나지 않습니다. 기본값을 수동으로 삭제하고 상자 (onblur)를 그대로두면 상자도 비어있게됩니까? 내가 사용하는 플랫폼은 이미 jquery.min.js를 사용하므로 스크립트 호출을 시도했지만 사용하지 않은 채로 아무것도 변경하지 않았습니다. – Stefan

0

placeholderinput 태그 안에 간단히 쓸 수 있습니다.

<input type="text" name="email" value="" placeholder="Enter Email"> 
+0

그러나 onFocus 및 onBlur의 역동 성을 제공하지 않습니다. – Runcorn

+0

또한 내가 읽은 것에서 IE를 지원하지 않습니다. – Stefan

관련 문제