如何在提交网址动作时使表单不打开新窗口?

时间:2014-11-25 00:27:45

标签: javascript php html forms

我有一个提交网址操作的表单。但是,我不希望它在提交时用url打开一个新窗口。我该怎样避免这个?

<form name="leds" id="ledSend" method="get" target="_blank" action="https://agent.electricimp.com/Fk43xPMkSrWF">
Lamp Control: <input type="radio" name="led" value="0" checked>Off
            <input type="radio" name="led" value="1">On<br>
How long should the Lights stay on? <input type="text" name="timer" value="10">seconds<br>
Your name? For Our Records <input id="name" type="text" name="user" placeholder="Your name here">       <br>
<input type="submit" value="Update!" onclick="alert(theInput.value)"/>
<script>

var theInput = document.getElementById(&#34; name&#34;);

我不希望此表单将窗口更改为

https://agent.electricinp.com

提交时。我如何避免这种情况,以便用户留在他们提交表单表单的原始页面上。

2 个答案:

答案 0 :(得分:1)

摆脱target="_blank"

<form name="leds" id="ledSend" method="get" action="">

答案 1 :(得分:0)

最近,我了解了这种情况,并进行了大量研究以查找黑客/解决方案。

解决方案-如果您可以每次放置一个窗口名称并引用相同的名称,那么浏览器将确保打开尚未打开的新选项卡,否则将刷新窗口。

示例代码段:Demo JSfiddle here

<form id="myForm" action="<URL>" method="POST" target="_blank" onsubmit="target_popup(this)">
    First name: <input type="text" name="fname"/><br/>
    Last name: <input type="text" name="lname"/><br/>
    <button type="submit" id="btnTest"> Submit</button>
</form>


<script>
var target_popup = function(form) {
    window.open('',//URL should be blank so that it will take form attributes.
                'UniqueWindowName', //window name
                'width=400,height=400,resizeable,scrollbars');
    form.target = 'UniqueWindowName';
}
</script>

请参阅我的blog了解更多详情