我正在使用Jquery允許用戶通過Ajax上傳圖像(實際提交表單之前的圖像上傳)。我已經添加了爲每個上傳的圖片添加水印的功能(這是在upload_image.php中完成的),這部分工作正常。Jquery val()總是抓住第一個選擇值無論選擇哪一個
用戶可以通過表單選擇來選擇他們想要在其圖像上放置水印的位置。我使用Jquery的.val()來獲取id =「watermark」的值select並將其添加爲要傳遞給upload_image.php的查詢字符串值。
問題是無論我在表單中選擇了什麼,總會傳遞第一個選擇值。我試圖把它放在一個函數中(認爲它是在頁面加載時獲得的值),但沒有運氣。我改變了選擇單選按鈕。它仍然抓取頁面上第一個單選按鈕的值;不管你選擇什麼。
這裏是處理這個腳本的一部分:
<script type="text/javascript" >
$(function(){
// build URL to php upload script with watermark placement
function setWatermark() {
var uploadUrl = 'http://www.mysite.com/upload_image.php?w=';
var watermarkValue = $('#watermark').val();
var watermarkUrl = uploadUrl + watermarkValue;
return watermarkUrl;
}
var btnUpload=$('#upload');
new AjaxUpload(btnUpload, {
action: setWatermark(),
name: 'uploadfile',
});
});
</script>
這是形式(除去不相干字段):
<form id="image_form" action="this_form.php" method="post" enctype="multipart/form-data">
<select id="watermark">
<option value="top_left">Top Left</option>
<option value="top_right">Top Right</option>
<option value="center">Center</option>
<option value="bottom_left">Bottom Left</option>
<option value="bottom_right">Bottom Right</option>
</select>
<div id="upload" ><span><img src="upload_button.jpg" /></span></div>
</form>