function directions(sacred) { var x = screen.width / 2 -...">

Center window.open on form submit

My code is as follows:

<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);"> 

I don't understand js, so take it easy if it looks messy.

I can make this work fine:

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

As soon as I try to connect onsubmit to the above script, I get lost. I don’t even know if this feature is reliable.

I opened the hood here: jsFiddle

The problem is that the form is submitted to a new tab and generally ignores window.open .

Thank you in advance for your help.

0
source share
2 answers

Try the following: 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 should be a function call. Also sacred is undefined. I made changes to the code above

+2
source
 <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> 

I don’t know why, but I don’t always work. http://jsfiddle.net/greatghoul/MCRAG/embedded/result/

The code is here.

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

+2
source

All Articles