我正在努力使用 HTML 代码来验证外部 js 文件中 Javascript prompt() 的输入。我了解调用 Javascript 函数进行验证,并且我知道如何编写函数,但是您如何“侦听”HTML 中的提示和后续输入?
提示是否必须在 HTML 文档中作为表单完成?
我正在努力使用 HTML 代码来验证外部 js 文件中 Javascript prompt() 的输入。我了解调用 Javascript 函数进行验证,并且我知道如何编写函数,但是您如何“侦听”HTML 中的提示和后续输入?
提示是否必须在 HTML 文档中作为表单完成?
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)
}
抱歉,我等不及了……这是我在上面的评论中提到的代码。jsFiddle现场示例在这里。
这是一个完全有效的独立示例。只需复制/粘贴到文件中并运行。
请注意,您必须在代码本身之前引用/加载 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>