1

magentoに管理モジュールがあります。フォームが送信されたときに、「お待ちください」ポップアップを表示できるようにしたいと思います(カテゴリを変更するときに表示されるのと同じ方法です)。現在AJAXを使用していませんが、ajaxを使用してフォームを送信する必要があると想定しています。フォーム情報はプログラムで設定されているため(動的であるため)、phtmlファイルはありません。

AJAXの有無にかかわらず、誰かが私をMagentoで「お待ちください」を使用する正しい方向に向けることができますか?

フォームの表示方法についてさらに情報が必要な場合は、必要な情報がわからず、投稿にランダムなスニペットを入力したくないので、お知らせください。

解決済み

コメントを保存するための明確さのために:

デフォルトの保存ボタンを無効にして、JSonclickを追加しました。

$this->_updateButton('save', 'onclick', 'submitForm()');

次に、を使用してJSファイルを含めましたlayout.xml

<reference name="head">
    <action method="addJs"><script>mymodule/javascript.js</script></action>
</reference>

次に、JS関数を追加しました。

function submitForm(){
    $('edit_form').request({
         onComplete: function()  { 
             window.location.href = document.URL; 
         }
     })  
}

これは私のためにそれを分類しました。

4

2 に答える 2

13

これは、スピナーを追加するために最も頻繁に見つかるページです。したがって、ajax経由ではなく、他のjsを実行しているときにスピナーを表示したいこのページを見つけた人のために、ここで回答を増やしたいと思いました。処理。

スピナー(adminhtmlテンプレート)を表示する非常に簡単な方法があります。それは、次のjsをページに追加することです:-

Element.show('loading-mask');
/* do your js stuff here */
Element.hide('loading-mask');

実行されるajaxは、ロードマスク自体を非表示にすることに注意してください。したがって、ボタンのクリックを呼び出す場合は、後でマスクを再度表示することをお勧めします。

于 2013-07-31T13:59:04.850 に答える
2

デフォルトでは、magento adminでは、以下のコードを使用して送信したajaxには「お待ちください」と表示されます。

function submitForm(){
   new Ajax.Request(url, {
      method:'post',
      .....
   });
 }


$fieldset->addField('submit', 'submit', array(
      'label'     => Mage::helper('form')->__('Submit'),
      'required'  => true,
      'onclick' => "submitForm",
      'value'  => 'Submit()',
      'after_element_html' => '<small>Comments</small>',
      'tabindex' => 1
    ));

見てください@

http://www.excellencemagentoblog.com/magento-admin-form-field

http://turnkeye.com/blog/magento-admin-form/

于 2013-02-06T17:13:23.297 に答える