下面是代码:jQuery的形式不工作
<script type="text/javascript">
$.ajaxSetup ({
cache: false
});
var ajax_load = "<img src='load.gif' alt='Loading...' />";
$('#create').submit(function() {
$("#result").html(ajax_load);
$.get("actions/create.php", { url: longform },
function(data){
$('#result').html(data);
});
);
});
</script>
但所发生的一切是在地址栏中更改网址:
http://domain.com/?longform=http://www.google.com/&submit=Submit
的形式和结果的div:
<form name="create" action="" id="create">
<input type="text" name="longform" /> <input type="submit" name="submit" value="Submit" />
</form>
<div id="result">
results go here
</div>
我需要在头部有ajax代码吗?或者这是否都无所谓..
UPDATE:
的代码我的网页上,现在看起来是这样的:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript">
$.ajaxSetup ({
cache: false
});
var ajax_load = "<img src='img/load.gif' alt='loading...' />";
$('#create').submit(function() {
event.preventDefault();
$("#result").html(ajax_load);
$.get("actions/create.php", { url: longform },
function(data){
$('#result').html(data);
});
);
});
</script>
</head>
<body>
<form name="create" action="" id="create">
<input type="text" name="longform" /> <input type="submit" name="submit" value="Shorten" />
</form>
<div id="result">
123
</div>
还是行不通的。 actions/create.php简单地回显一个foobar字符串来测试它。
UPDATE:
我也试过这样:
$('#create').submit(function() {
var formdata = $(this).serialize();
$.ajax({
url: 'actions/create.php',
data: formdata,
success: function(responseText){
$('#result').html(responseText);
}
});
return false;
});
但这也并不工作..可以东西在我的htaccess的是与它搞乱?
这是因为表单在脚本执行时不是DOM的一部分。您应该将脚本包装为`document.ready`事件的一部分。 `jQuery(function($){/ *您的代码在这里* /});` – zzzzBov 2010-11-24 20:35:57