我正在努力使用HTML代码来验证外部js文件中Javascript prompt()的输入。我知道调用Javascript函数来验证,也知道如何编写函数,但是如何“监听”HTML中的提示和后续输入呢?
提示符是否必须在HTML文档中以表单的形式完成?
发布于 2013-06-21 00:39:36
抱歉,我不能再等了。下面是我在上面的评论中提到的代码。jsFiddle live example here.
这是一个完全正常工作的独立示例。只需复制/粘贴到一个文件中并运行即可。
请注意,您必须在代码本身之前引用/加载jQuery和jQueryUI库(在此处的标记中完成)。
老实说,prompt()对于现在的网站来说不是一个好主意。也许这更像是你想要做的。验证(对用户键入的内容)是在对话框的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>
发布于 2013-06-21 00:15:25
prompt
被阻塞。只有在点击OK按钮(或按enter键)后,才会返回输入的内容。
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)
}
发布于 2013-06-21 00:18:56
提示将返回您在对话框窗口中输入的值。无论您想做什么,都可以使用返回值。如下所示:
var answer = prompt("<something>");
//stuff with answer
fiddle
https://stackoverflow.com/questions/17218632
复制相似问题