1

私のコードは次のようになります。

<script type="text/javascript">
      function directions(sacred) {
        var x = screen.width / 2 - 700 / 2;
        var y = screen.height / 2 - 450 / 2;
        window.open(sacred.action, 'Directions', 'height=485,width=700,left=' + x + ',top=' + y);
        return false;
      }
</script>

<form action="http://maps.google.com/maps" method="get" target="Directions"
      onsubmit="return directions(sacred);">

jsがよくわからないので、下手くそでしたらご容赦ください。

これをうまく機能させることができます:

<form action="http://maps.google.com/maps" method="get" target="Directions"
    onsubmit="Directions=window.open('about:blank','Directions','width=600,height=400');">

を上記のスクリプトに接続しようとすると、onsubmit迷子になります。上記の機能が信頼できるかどうかさえわかりません。

ここでボンネットを開けました: jsFiddle

問題は、フォームが新しいタブに送信され、window.open完全に無視されることです。

よろしくお願いいたします。

4

2 に答える 2

2
<form action="http://maps.google.com/maps" method="get" target="Directions"
      onsubmit="Directions=window.open('about:blank','Directions','width=600,height=400,left={left},top={top}'.replace('{left}', screen.width/2-700/2).replace('{top}', screen.height/2-450/2));">..</form>

理由はわかりませんが、いつも仕事をしているわけではありません。
http://jsfiddle.net/greatghoul/MCRAG/embedded/result/

コードはこちらです。

http://jsfiddle.net/greatghoul/MCRAG/

于 2013-01-08T03:16:35.250 に答える
2

これを試してください:http://jsfiddle.net/333Qy/1/

<script>
  function directions(sacred) {
  var x = screen.width / 2 - 700 / 2;
  var y = screen.height / 2 - 450 / 2;
  console.info(sacred);
  window.open(sacred.action, 'Directions', 'height=485,width=700,left=' + x + ',top=' + y);
  return false;
}
</script>
<p>
  <form action="http://maps.google.com/maps" method="get" target="Directions"
  onsubmit="directions(this);">
    <input class="directions-input" id="saddr" name="saddr" type="text" placeholder="enter zip-code"
    value="enter zip-code" onfocus="this.value = this.value=='enter zip-code'?'':this.value;"
    onblur="this.value = this.value==''?'enter zip-code':this.value;" />
    <input type="submit" class="directions-submit" />
    <input type="hidden" name="daddr" value="210+East+Northampton+Street,+Bath,+PA"
    />
    <input type="hidden" name="hl" value="en" />
  </form>
</p>

onsubmit は関数呼び出しでなければなりません。また、神聖は定義されていません。上記のコードに変更を加えました

于 2013-01-08T03:01:20.650 に答える