2010-04-14 2 views
0

Вот моя форма ASP.NET. Когда я нажимаю одну кнопку, он вызывает обе функции jQuery. Это, вероятно, рудиментарный HTML вопрос, но я не знаю, почему:Две кнопки в форме, Оба называются

<form id="form1" runat="server"> 
    <div id="testDialog"> 
    </div> 

    <p><input type="button" id="invoke1" value="test 1" /></p> 

    <input type="button" id="invoke2" value="test 2" /> 
</form> 

<script type="text/javascript"> 
    $(function() { 
     $("input:invoke1").click(function(){ 
      showSomething("testDialog"); 
     }); 

     $("input:invoke2").click(function(){ 
      showSomething2("test.aspx", options); 
     }); 
    }); 
</script> 
+0

Вы заметили другие ответы, которые являются более краткими и правильно? –

ответ

0

идентификатор является уникальным для данного документа я не вижу необходимости включать ввод с ним, как следует

$("#invoke1").click() 
$("#invoke2").click() 
3

не должны эти селекторы быть

$("input#invoke1") and $("input#invoke2") 
+0

Если это так, то почему: работа с точки зрения запуска события и обе функции для запуска? Вероятно, вы правы, .click происходил за все, что было нажато, потому что оно неправильно ссылалось на кнопки, поэтому, когда я нажимал на что-либо, срабатывали оба события click. – PositiveGuy

+0

, так что я думаю, когда вы будете использовать:, я думал, что видел это в одной из моих книг jQuery. Ввод: я забыл, откуда у меня эта идея. – PositiveGuy

0

попробовать просто

$("#invoke1").click(function(){ 
     showSomething("testDialog"); 
    }); 

    $("#invoke2").click(function(){ 
     showSomething2("test.aspx", options); 
    }); 

, поскольку идентификаторы должны быть уникальными, это должно решить ваша проблема

0

Вы даже можете попробовать

$("#invoke1")... and $("#invoke2")... 
Смежные вопросы