2011-12-30 42 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; 
} 

附加信息;好知道

相关问题