Я пытаюсь просмотреть загруженное изображение с помощью ajax в своем модуле D7, но не знаю, почему он не работает. Вот что я пытаюсь сделать:
function create_ad_form($form, &$form_state) { $form['image_file'] = array( '#title' => t('Upload Banner:'), '#type' => 'file', ); $form['submit'] = array( '#type' => 'submit', '#value' => 'Submit', '#submit' => array('create_ad_form_submit'), '#ajax'=> array( 'callback'=>'create_ad_form_submit', 'wrapper'=> 'im-area', 'method'=> 'replace', 'effect'=> 'fade', ) ); $form['im-container']=array( '#prefix'=>'<div id="im-area">', '#suffix'=>'</div>', ); } function create_ad_form_submit($form, $form_state) { $file = file_save_upload('image_file', array(), "public://",$replace = FILE_EXISTS_REPLACE); if ($file) { $file->status=FILE_STATUS_PERMANENT; file_save($file); $form['im-container']=array( '#title'=>t('Preview:'), '#prefix'=>'<div id="im-area">', '#markup'=>'<img src="sites/default/files/'.$file->filename.'">', '#suffix'=>'</div>', ); } else drupal_set_message('No file uploaded.'); return $form['im-container']; }
Вышеприведенный код не дает ошибки, но предварительный просмотр изображения не отображается. Кто-нибудь может сказать, что я делаю неправильно здесь, и что мне делать? Благодарю.
ОК. Я заработал. Я обновил код выше, его работа для меня. Просто отключил и снова включил модуль, и тот же самый код начал работать. Странно, но это не так, не знаю, в чем проблема.