2013-01-25 159 views
1

我正在使用JavaScript來啓動一個「shadowbox」jquery lightbox窗口,當用戶登錄並在html表單上提交時。javascript:防止在瀏覽器中打開第二個_blank窗口?

首先,我希望jquery窗口只能在succesfull提交時啓動,而不能在不成功的提交中啓動。 (即如果用戶的電子郵件和密碼是正確的) - 是否有辦法做到這一點?

遇到的另一個問題IM是目前的預期,但第2個目標_blank窗口同時打開,因爲我使用'this.target = 'formpopup';'

我曾試圖用'e.preventDefault();'防止jquery的窗口彈出第二個窗口從開放,這確實停止打開2窗口,但它也停止從用戶登錄窗體。有反正我可以防止第二個窗口在一個新的_blank窗口中打開,而無需刪除這個'this.target = 'formpopup';'這個是jquery窗口打開所必需的。

請有人指示我該怎麼做,謝謝。

HTML表單:

<form id="myform" form action="login.php" method="post" class="loginform"> 

Email 
    <input type="text" name="email" maxlength="30" /> 

Password 
<input type="password" name="password" maxlength="30" /> 

<input type="image" src="../PTB1/assets/img/icons/loginarrow1.png" name="submit" class="loginbutton" value="Login" /> 

      </form> 

JAVASCRIPT:

<script> 
    $(document).ready(function() { 
    $('#myform').submit(function() { 
     Shadowbox.open({ 
     content: '<iframe src="loginin.php" width="500" height="300" scrolling="no" style="overflow:hidden; border:none;"></iframe>', 
     player:  "html", 
     height:  300, 
     width:  500 
    }); 

     this.target = 'formpopup'; 
      e.preventDefault(); 





    }); 
}); 
</script> 
+1

爲什麼你需要'this.target ='formpopup';'?另外,你的'e.preventDefault()'行會導致錯誤,因爲沒有'e'。檢查你的錯誤控制檯。 – bfavaretto

回答

0

如果添加target="aNameOfTheWindow"你會一遍又一遍地打開同一窗口。