이메일 입력란에 제출 버튼을 입력하라는 입력란이 있습니다. 다음은 그와 관련된 코드 :입력란에 오류/성공 메시지 표시
HTML은
<div class="email">
<form action="handler.php" method="post" id="hgb-signup">
<input type="text" name="email" id="email" value="Enter your email address">
<input type="submit" name="submit" id="submit" value="»" />
</form>
</div>
JAVASCRIPT 현재 페이지가 #email
입력 필드가 읽기로드 할 때
Event.observe(window, 'load', function() {
jQuery('#email').focus(function() {
jQuery(this).val('');
});
jQuery("#hgb-signup").submit(function(e){
var dataString = jQuery(this).serialize();
jQuery('#email').val('Sending... please wait...');
jQuery.getJSON('handler.php?callback=?', {
"sent_data": dataString },
function(received_data) {
jQuery('#email').val(received_data.message);
}
);
e.preventDefault();
});
});
"당신의 이메일 주소를 입력" . 제출 버튼을 클릭하면 #email
값이 "보내기 ... 기다려주십시오 ..."로 덮어 쓰고 문제가 발생했는지 또는 제출이 성공했는지에 따라 #email
필드에 해당 메시지가 표시됩니다 이러한. 이제 입력 필드 내부를 클릭하면 "이메일 주소 입력"텍스트가 .val('')
으로 사라지고 필드 외부를 클릭하면 해당 메시지가 사라집니다. 처음에는 메시지를 다시 입력하는 .blur()
이 있었지만 사용자가 전자 메일 주소를 입력하고 제출을 누르면 실제 전자 메일 주소가 아니라 "전자 메일 주소 입력"을 제출했습니다. 제출 버튼 .blur()
이 호출되었습니다.
이제 목표가 무엇인지 알면 .blur() 대안이 있고 그렇지 않은 경우 어떻게하면이 상황을 가장 잘 처리 할 수 있을까요?
기본적으로, 여기에 내가 무엇을 찾고있다 :
#email 필드 읽고 커서가 필드 안에 있지 않을 때 주어진 시간에 "당신의 이메일 주소를 입력"다시 때 커서 잎을 제공해야한다 필드가 있지만, 사용자가 필드 안쪽을 다시 클릭하고 나뭇잎을 떠나지 않으면 양식이 제출 된 후 오류/성공 메시지가 거기에 머물고 싶습니다. 그러면 "이메일 주소 입력"이라고 다시 말할 수 있습니다.
감사합니다.
달콤하고 간단합니다. 그것은 나의 코의 팁에 바로 있었다 :) – NightHawk
세련에 감사드립니다. focus() 검사는 좋은 추가 다. "오류 메시지"도 포함 시켜서 사용자가 잘못된 이메일을 입력 할 때 오류 메시지가 표시되면 클릭시이 필드가 지워 지므로 사용자가 새 이메일 주소를 입력 할 수 있지만 입력 한 후에 잊지 않도록하십시오. 성공적으로 성공 메시지를 유지할 수 있습니다. – NightHawk