1

背景画像を更新するためのこのjquery関数があります。

var jq = $.noConflict(); jq(ドキュメント).レディ(関数() {

jq('#s22').click(function() {
       d = new Date();
      var tableframe3 = jQuery("div .rs4",window.parent.preview.document);
    tableframe3.css("backgroundimage","url(images/bg.png?"+d.getTime());
 });           
 });

それは機能しますが、ajax.updater を使用するフォームに追加すると、フォームを初めて送信したときにのみトリガーされます。再び機能させるには、ページ全体をリロードする必要があります。フォームを送信するために使用するコードは次のとおりです。

<form action="<?=$_SERVER['REDIRECT_URL'] ?>" method="POST" 
onsubmit="try{                
        showStatus('working...');$(this).request({
        sender:$(this).identify(),

        onSuccess :function(transport){

            try{                
               new Ajax.Updater($($('<?=$function ?>_container').parentNode),'Sites/<?=$function ?>/<?=$item[$this->mainModel->primaryKey] ?>/<?=$index ?>?ajax=true',{evalScripts:true}); showStatus('Complete!',2000);                
            }catch(e){
                showStatus(e.toString(),4000);
            }
        }
    })}catch(e){showStatus(e.toString(),4000)};return false;">

これが送信ボタンです:)

  <input type="submit"  id="s22" value="Select" /> 

問題がこの Ajax.Updater にあることはわかっています。コメントアウトすると、ページをリロードしなくても jquery が送信ごとに機能するためです。

 new Ajax.Updater($($('<?=$function ?>_container').parentNode),'Sites/<?=$function ?>/<?=$item[$this->mainModel->primaryKey] ?>/<?=$index ?>?ajax=true',{evalScripts:true}); showStatus('Complete!',2000);

私はJavaScriptの初心者なので、何が問題なのかわかりません。

4

0 に答える 0