2010-01-03 25 views
1

如果表單包含名爲「name」的輸入,那麼jQuery live click不起作用。將名稱改爲別的可以幫助。誰能告訴我爲什麼會發生?現場點擊並輸入名爲「name」的jQuery問題

如果在點擊名爲「value」的輸入時出現字段名稱「named」,則實時點擊不起作用。如果我將名稱從「名稱」更改爲「名稱2」,則單擊名爲「值」的字段工作。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js"></script> 

<script> 
$('form[name="prepare"] input[name="value"]').live('click', function(){ 
    alert('Clicked!'); 
    return false; 
}); 
</script> 

<form name="prepare" method="post"> 
    <input type="text" name="name" /> 
    <input type="text" name="value" /> 
</form> 
+0

似乎它與'input [name =「name」]'無關,但是與'form [name =「prepare」]'無關。 – 2010-01-03 15:07:41

回答

0

更改name="prepare"屬性/值對FORM元素來id="prepare",它應該工作,like so

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.js"></script> 
    <script> 
    $('form#prepare input[name=value]').live('click', function() { 
    alert('Clicked!'); 
    return false; 
    }); 
    </script> 
<form id="prepare" method="post"> 
    <input type="text" name="name"> 
    <input type="text" name="value"> 
</form> 
1

如果您解決<form>通過id而不是由name的bug消失:

<form name="prepare" method="post" id="myform"> 

$('form#myform input[id="value"]').click(function(){ 
0

html specs

<form>,名稱=

注意。包含此屬性是爲了向後兼容。應用程序應該使用id屬性來標識元素。

由於此屬性已被棄用,因此jquery可能會錯誤地處理它。