3
我目前的工作情況看起來是這樣的:使用jQuery Ajax更新動態創建的圖像通過GET
<!-- collect user info -->
<form method="GET">
<input name="param1" type="text" />
<input name="param2" type="text" />
<input type="submit" />
</form>
<!-- display image based on user info -->
<img src="color.php?param1=<?php echo $_GET['param1']; ?>param2=<?php echo $_GET['param2']; ?>" alt="" />
這是可以正常使用。現在我只希望圖片被ajax更新,而其餘的HTML保持不變。我試過這個:
<form method="GET" id="formId">
<input name="param1" type="text" />
<input name="param2" type="text" />
<input type="submit" />
</form>
<div id="result"></div>
<script type="text/javascript">
var frm = $('#formId');
frm.submit(function(){
$.ajax({
type: 'GET',
success: function() {
$('#result').html('<img src="color.php?' + frm.serialize() + '" />');
}
});
return false;
});
</script>
事實上,這個解決方案或多或少有效。然而,我在這裏有一些問題:
- 這是很好的jQuery/ajax代碼或是愚蠢的(是的,我是新來的jQuery)?
- 只有其中一個字段發生更改時,字段「result」纔會更新。我可以在提交按鈕被點擊時更新它嗎?
- 我想顯示一個旋轉load.gif而color.php計算圖片。我嘗試了這種方式,沒有成功:
var ajax_load = "<img class='loading' src='img/load.gif' alt='loading...' />"; $('#result').html(ajax_load).html('<img src="color.php?' + frm.serialize() + '" />');
謝謝!
謝謝你的幫助。我試過了,但似乎還是有問題。在「cache:false」的情況下,附加的「 g000ze 2013-05-11 15:39:49
我只是覺得你的ajax調用沒有url。檢查我更新的答案(看起來你不需要ajax請求) – 2013-05-11 15:44:26
非常好,謝謝!幾乎完美的是,只有在對錶單進行更改後,color.php纔會加載。 – g000ze 2013-05-11 15:51:38