为什么隐藏的表单在失去焦点时不显示?离开输入时警报很快就会出现,但其他隐藏的形式仍然存在。
HTML
<body>
<input type="text" id="myinput" value="">
<input type="hidden" id="validation_message_email" value="enter a valid email">
</body>
的javascript
window.onload = function() {
$("#myinput").blur(myAlert);
};
function myAlert() {
alert("This input field has lost its focus.");
$("#validation_message_email").show();
}
答案 0 :(得分:5)
您无法显示类似的隐藏输入。范围更适合此目的,
<input type="text" id="myinput" value="">
<span style="display:none" id="validation_message_email">enter a valid email</span>
答案 1 :(得分:1)
validation_message_email
没有将display
样式属性设为none
,因此show()不会显示type="hidden"
。
您需要替换
$("#validation_message_email").show();
与
$("#validation_message_email").attr( "type", "text" );
但是,如果的目的是仅显示消息,那么您就不需要使用隐藏的输入。
<body>
<input type="text" id="myinput" value="">
</body>
和
window.onload = function() {
$("#myinput").blur(function(){
alert("This input field has lost its focus.");
$(this).append('<span id="emailValidationMessage">enter a valid email</span>')
});
$("#myinput").focus(function(){
$("#emailValidationMessage").remove();
});
};
答案 2 :(得分:0)
无需使用type="hidden"
,因为默认情况下隐藏的元素不是display:none
。
使用type="text"
并使用css隐藏它并显示您想要的位置
<input type="text" id="myinput" value="" style="display:none;">
答案 3 :(得分:0)
像这样使用
<input type="text" id="myinput" value="">
<input type="hidden" id="validation_message_email" value="enter a valid email">
<script>
window.onload = function() {
$("#myinput").blur(myAlert);
};
function myAlert() {
$("#validation_message_email").attr("type","text");
}
</script>
答案 4 :(得分:0)
答案 5 :(得分:0)
rax