我正在寻找你的帮助。我想在Magento中使用Ajax更改头像图片。
我的表单没有AJAX,它是默认表单action="<?php echo $this->getUrl('customer/account/editProfile') ?>"
这是我的代码:
<form id="avatarform" enctype="multipart/form-data" method="post">
<?php echo $this->getBlockHtml('formkey')?>
<input type="file" name="avatar"/>
<a><button type="submit" class="general-btn"><span><?php echo $this->__('Save Profile') ?></span></button></a>
</form>
现在我的JS功能:
jQuery("#avatarform").submit(function(){
//alert ("test");
//jQuery.post('<?php echo $this->getUrl('customer/account/editProfile') ?>');
//return false;
url = '<?php echo $this->getUrl('customer/account/editProfile') ?>';
new Ajax.Request(url, {
parameters: {isAjax: 1, method: 'POST'},
onSuccess: function(transport) {
}
});
});
你对我有什么建议吗?
提前致谢。
编辑:使用这个新代码,我可以获得成功警报。
jQuery('#avatar').live('change', function() {
//alert('test');
var boxval = jQuery("#avatar").val();
var dataString = 'avatar='+ boxval;
//document.avatarform3.submit();
jQuery.ajax({
type: "POST",
data: dataString,
cache: false,
url: "http://localhost/magento-sample/index.php/customer/account/editProfile",
success: function(html) {
alert('sucess');
}
});
});
但表格不提交。也许我想念添加正确的数据/参数,但为什么我需要在Ajax中使用正常请求模式时添加一些参数?我怎样才能找到合适的参数来添加?
THX。