2017-11-04 89 views
0

所以我有一个父窗口和子窗口 父窗口中有一些窗体,我打算填写窗体的值从子窗口传递从MySQL数据库检索 但每个时间按钮,打开孩子们窗口中单击它触发2事件onclick打开子窗口并提交表格

第一,它打开了孩子们窗口
第二,它提交表单的父窗口

我的问题是为什么第二次事件发生?我没有把任何代码提交表单(上父窗口)在onclick事件尚未

这是我在父窗口代码:

<script language="javascript"> 
    function openWindow() { 
    window.open("blabla.php","_blank","height=600,width=400, status=yes,toolbar=no,menubar=no,location=no"); 
    } 
</script> 
<div class="form-group"> 
    <label>ID USER</label> 
    <div class="input-group"> 
    <span class="input-group-addon"><span class="glyphicon glyphicon-pencil"></span></span> 
    <input type="text" readonly class="form-control" id='idk' name='idk' placeholder="Submit ID User" required="required" /> 
    <span class="input-group-addon"><button onClick="javascript:openWindow();">Select</button></span> 
    </div> 
</div> 

回答

0

我不能没有再回答你的问题信息。你需要了解什么事件正在被触发,当你点击功能被调用时才会将事件传递给你的函数。然后,您可以看到事件对象并确定导致第二个事件被触发的原因。为此,将事件对象传递给你的函数,然后你可以检查它。

<script language="javascript"> 
    function openWindow(e) { 
    console.log(e); 
    window.open("blabla.php","_blank","height=600,width=400, 
    status=yes,toolbar=no,menubar=no,location=no"); 
    } 
</script> 
<div class="form-group"> 
    <label>ID USER</label> 
    <div class="input-group"> 
    <span class="input-group-addon"><span class="glyphicon glyphicon-pencil"></span></span> 
    <input type="text" readonly class="form-control" id='idk' name='idk' placeholder="Submit ID User" required="required" /> 
    <span class="input-group-addon"><button onClick="javascript:openWindow(event);">Select</button></span> 
    </div> 
</div> 

根据您提供的有限信息,我不确切地知道您要完成什么,所以这是我能做的最好的帮助。如果您使用引导程序,并且我看到您正在使用一些引导程序类。 Bootstrap可能会通过点击提交表单。使用e.preventDefault()可能会停止此行为。

+0

我可以提供哪些其他信息使我的问题更清晰? – xcloox