私はあなたの助けを探しています。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 にパラメーターを追加する必要があるのはなぜですか? また、追加する適切なパラメーターを見つけるにはどうすればよいですか?
どうも。