我正在努力使用HTML代码来验证外部js文件中Javascript prompt()的输入。我理解调用Javascript函数进行验证,我知道如何编写函数,但是如何“监听”HTML中的提示和后续输入?
是否必须在HTML文档中以表单形式完成提示?
答案 0 :(得分:4)
prompt
正在阻止。无论输入什么,只有在单击确定按钮(或按下输入)后才会返回。
var foo = prompt('bar', 'baz');
if (some_condition(foo)) {
// do something
} else {
// do something else
// (which might be to recursively call the function this code
// is inside until an acceptable result is received)
}
答案 1 :(得分:0)
提示符返回您在对话框窗口中输入的值。将返回的值用于您想要做的任何事情。像这样:
var answer = prompt("<something>");
//stuff with answer
答案 2 :(得分:0)
抱歉,我等不及了......以下是我在上面评论中提到的代码。 jsFiddle live example here。
这是一个完全有效的独立示例。只需复制/粘贴到文件中即可运行。
请注意,您必须在代码本身之前引用/加载jQuery和jQueryUI库(在标记中完成)。
老实说,这些天来,提示()对于网站来说是一个坏主意。也许这更像是你想做的事情。验证(用户输入的内容)在对话框的close
部分完成。
<html>
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.9.1/themes/base/jquery-ui.css" />
<script type="text/javascript">
$(document).ready(function() {
$('#mybutt').click(function() {
$('#msg').dialog({
autoOpen:true,
modal:true,
title: 'This is a question:',
buttons: {
Go: function() {
$(this).dialog('close');
}
},
close: function() {
var s = $('#sumpin').val();
if (s.length<15)
alert('Please type more than 15 characters');
else
alert('You typed: ' + s);
}
});
});
}); //END $(document).ready()
</script>
</head>
<body>
<div id="msg" style="display:none">
Type something here:<br />
<input id="sumpin" type="text">
</div>
<br />
<input type="button" id="mybutt" value="Click Me">
</body>
</html>