2011-12-30 43 views
-1
//HTML Code 
<div id="navigation1"> 
<ul> 
<li><a href="#"><input type="submit" value="Next" 
     onClick="return checkfhname()" /></a></li> 
</ul> 
</div> 

我的JavaScript checkfhname()正在恢復false,在同一時間<li>標籤導航到下一個標籤的形式,所以我想停止這種導航,如果使用Javascript返回false 。如何停止滾動或下一個選項卡上的移動,如果我的javascript函數返回false

+3

爲什麼你會永遠把一個''內的''元素? – ThiefMaster 2011-12-30 12:44:54

+0

我很難理解你的問題。標籤導航,下一個標籤,停止導航?這些是什麼意思? – kontur 2011-12-30 12:48:28

+0

我有5個選項卡,每個選項卡有不同的表單字段,並在每個選項卡結束我有下一個,上一個按鈕,我想驗證字段的tab1當我按下NEXT按鈕,如果tab1字段驗證成功,那麼只有我必須移動tab2否則它顯示錯誤,並保持在tab1 ............. – user1122910 2011-12-30 12:58:12

回答

6

說明

嗯,你的問題是有點......爲缺乏一個更好的詞,「前途未卜」。但是,我明白你想要做什麼。

首先,當鏈接也響應true/false時,不需要在鏈接內部放置一個input元素。其次,你絕不應該把一個輸入元素放在鏈接裏面。
這只是不好的做法。

當您通過Javascript將false返回給鏈接時,鏈接將不會進一步導航,就像輸入元素在您從提交返回false時不會再發送給您的那樣。

這應該足夠了

<a href="#" onClick="return checkfhname()">Next</a> 

如果你寧願要一個按鈕,只需將其更改爲一個按鈕,添加一個參數的URL,並使用window.location = url如果你想瀏覽

<script> 
    function checkNavigate(url){ 
     //check some conditions, conditions = false/true 
     if(typeof url == "undefined" || !conditions) 
      return false; 

     window.location = url; 
     return true; 
    } 
</script> 
<button onClick="checkNavigate('url')">Next</button> 

解決方案

Here's a JSFiddle example

HTML

<div id="navigation"> 
    <ul> 
     <li> 
      <a href="#link_clicked" onClick='return checkfhName();'>Link</a> 
     </li> 
    </ul> 
</div> 

的Javascript

function checkfhName(){ 
    //check your conditions, conditions = false/true 
    //for the purposes of this example: conditions = false 
    checkConditions = false; 
    if(checkConditions){ 
     return true; 
    } 
    return false; 
} 

附加信息;好知道

相關問題