2013-07-01 129 views
-1

我写了一些简单的javascript来根据字段的输入更改iframe的内容。经过几个小时的尝试,我已经设法让它工作。但是我并不真正理解为什么我应该在搜索功能结束时将“返回true”和“返回false”。先谢谢你!这是为什么这个工作?

function search(){ 
    var course=document.getElementById("field"); 
    if(course.value!=""){ 
     if(course.value!="Course code (e.g. COMP1004)"){ 
      var target=document.getElementById("frame"); 
      target.src=course.value + ".php"; 
      return false; 
     } 
    }else{ 
     return true; 
    } 
} 
<input id="field" name="field" type="text"></input> 
<input id="searchButton" name="searchButton" type="button"value="Search"onclick="search()"></input> 
+0

'return's在你当前的代码中没有做任何事 – Ian

+3

你确定你没有绑定到提交元素的函数吗? –

回答

2

你并不真的需要,因为你不期望任何值调用该函数。即使你写onclick = return search()你也没有默认的动作来防止,因为你的输入有type="button"

+0

你是对的!感谢名单! (Grassie veccio!) – PptSbzzgt

0

当你使用onclick(取决于浏览器)触发javascript函数时,点击的实际功能可以通过返回false 。因此,如果您点击某个按钮并返回true(或不显示任何内容),则会触发实际点击,例如加载一个新页面。如果你返回false,那么按钮的原始功能将不会被调用...