0

5 つのフィールドと 2 つのボタンがある検索フォームがあります。2番目のボタンでポップアップするフィールド値を投稿したい。

get メソッドを使用していますが、エンコードに問題があります。 phpはieでデータエンコーディングを取得します

window.name = 'SearchCustomer';
   function OpenPopup( url, winname, features )
   {
    if(winname==''){
     window.open( url, winname, features, false );
     return;
    }
    if ( !findWindow( url, winname, features ) )
    {
     var handle = window.open( url, winname, features, false );
     if ( handle != null ) handle.focus();
    }
   }

   function findWindow( url, winname, features )
   {
    var handle = window.open( '', winname, features, false );
    if ( handle != null )
    {
     if (( handle.location != 'about:blank' ) && ( handle.location != '' ))
     {
      handle.focus();
      return true;
     }
    }
    return false;
   }


function OpenCustomer(customerid){
    OpenPopup('Customer/new.php?id='+ customerid +'', 'CustomerForm', 'channelmode=0, directories=0, fullscreen=0, width=550, height=460, location=0, menubar=0, resizable=0, scrollbars=1, status=0, titlebar=1, toolbar=0', false);
}

検索ボタンは同じページで動作するはずなので、onSubmit イベントを追加できません。

2番目のボタンでポップアップするフォームを投稿するにはどうすればよいですか?

4

1 に答える 1

1

@mileshこれは、IEが壊れないように適切なURLエンコードを行うか、「ウィンドウ」オブジェクトに関連付けられているjavascript変数にフォームフィールド値を保存することで実行できます。後でポップアップウィンドウがロードされたら、子ウィンドウからそれらの変数にアクセスします。

たとえば、親ウィンドウで、

window.myform = { field1:"searchtext", field2:"somecategory"}

次のように、子ウィンドウでこれらの変数を取得できます。

alert(opener.myform);

注: 正確なコードではありません。これは、目標を達成するための一般的なアイデアです。

于 2013-03-05T10:49:41.477 に答える