2014-06-14 149 views
0

我正面臨一個微小的問題..單選按鈕的onclick動作沒有執行。我試着用onchange事件爲好,但沒有用的..onclick事件沒有點擊發射

<label><input type="radio" name="search_type" id="search_type" value="name" onchange="by_name()">Enter the Name </label> 
    <input name="tag" type="text" id="search" maxlength="30">      
    <label><input type="radio" name="search_type" id="search_type" value="all" onchange="all()">All</label> 

並單擊所有,

function all() 
    { 
     window.alert('hi'); 
    } 

你能幫助我用你的建議。(JS文件鏈接,以及)

+0

嘗試添加'onclick'標籤。 'Onclick'應該在'radiobutton'上工作。處理事件後可能會寫入函數。 – CnapoB

+0

重複http://stackoverflow.com/questions/8838648/onchange-event-handler-for-radio-button-input-type-radio-doesnt-work-as-one – chandu

+1

爲什麼要用相同的名稱編號? –

回答

0

編輯:這確實與allDemo

首先,使用兩個不同的輸入具有相同ID的工作。你不能那樣做。

其次,儘量從JS的分隔條件HTML:DEMO

HTML:

<label> 
    <input type="radio" name="search_type" id="search_type" value="name">Enter the Name</label> 
<input name="tag" type="text" id="search" maxlength="30"> 
<label> 
    <input type="radio" name="search_type" id="search_type2" value="all">All</label> 

的Javascript:

var input1 = document.getElementById('search_type'); 
var input2 = document.getElementById('search'); 
var input3 = document.getElementById('search_type2'); 

input1.onclick = function(){ 
    alert('input1'); 
}; 
input2.onclick = function(){ 
    alert('input2'); 
}; 
input3.onclick = function(){ 
    alert('input3'); 
}; 

爲什麼它們分開?

它是現代的,如果你有很多的HTML,如果你有它在一個單獨的文件中它更容易閱讀你的JavaScript。

+0

爲什麼這會降低投票率? – rottenoats

-1
$(document).ready(function() 
     { 

      $('body').click(function() 
      { 
       alert('hi'); 
      }); 
     }); 

此處將「body」標籤更改爲您希望功能發生的對象的ID。 請確保您使用的是jquery,否則這將無法正常工作

+0

不工作...控制不會在那裏...是它的JavaScript或jQuery的:( –

+0

再試一次。我沒有克服文件就緒功能在第一。@SamuelMathews –

-1

重命名該函數。 all在許多瀏覽器中具有預定義的含義,使其在內部事件屬性中使用時有效(如果不是實際上)保留關鍵字。

Non-working version給出「NS_ERROR_ILLEGAL_VALUE:Illegal value」。

Working version已將all更名爲notall