我正在使用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>