我正在尝试使用jquery在表单输入中设置一些默认文本。文本将是动态的,所以我不能在html中设置它。我希望jquery等待表单加载。
延迟功能设置文本,但根本不延迟。它是即时的。
加载函数中似乎没有任何内容执行。
HTML code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Testinput</title>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript" src="testinput.js"></script>
</head>
<body>
<form>
<input size="20" name="thing" />
<input type="image" src="" name="submit" value="go" />
</form>
</body>
</html>
JQuery代码:
$(document).ready(function(){
var $input = $('input[name="thing"]');
$input.val("");
var query = "orange";
//$input.delay(10000).val(query); // No delay!
$input.load(function(){
// Nothing happens!!
alert("form loaded");
$input.val(query);
});
});
尝试了jquery-1.6.4.min.js和jquery-1.4.min.js无济于事。
编辑: 我无法回复回复,堆栈溢出的javascript似乎对我来说似乎没有正常工作。我得到“Stack Overflow需要来自另一个域的外部JavaScript,它被阻止或无法加载”。
我使用Clive的答案得到了延迟函数,但有没有办法让jquery在运行代码之前等待表单先加载?