2015-04-17 11 views
5

Got następny kod HTML:Wywołaj JavaScript/AJAX za pomocą przycisku bez funkcji onClick poprzez jego nazwę wejścia. Czy to możliwe?

<form name="frm"> 
    <textarea class="textarea" name="textarea" id="textarea"> 
    <?php 
     foreach ($textarea as $textareashow){ 
      echo $textareashow."\r\n"; 
     }?> 
    </textarea><br><br> 
    <input type="button" name="callbutton" value="Push button" id="execbutton" /> 
</form> 

a następny kod JavaScript:

$(document).ready(function() { 
    $('#callbutton').click(function() { 
    alert("HELLO!!!"); 
    }); 
}); 

co chcę, aby wywołać funkcję JavaScript z jego nazwiskiem wejściowego przycisk. Czy to możliwe? i z jego identyfikatora wejściowego? Dziękuję Ci bardzo.

Odpowiedz

5

Spróbuj tego:

$(document).ready(function() { 
    $('#execbutton').click(function() { 
     alert("HELLO!!!"); 
    }); 
}); 

zadziała.

Objaśnienie:# służy do wybierania elementu poprzez ID i . służy do wybierania elementu przez nazwy klasy. wybierasz element według nazwy, więc musisz użyć $("input[name=callbutton]"). Jeśli wybierasz dowolny element według jego właściwości lub atrybutu, musisz go użyć w nawiasach []. [property_name=property_name_value] w ten sposób.

+1

dziękuję bardzo wszystkim z Was! Po jakimś czasie zdałem sobie sprawę, że link do js/jquery był pod linkiem do mojego js/textareascript.js !!!!!!! dlatego skrypt nie działał. Co za kutas! – user3321425

+0

@ user3321425 miło słyszeć od ciebie i twojej ciężkiej pracy. Z przyjemnością ci pomogę. :) –

5

Oczywiście, że to możliwe. Mam napisali jsfiddle poniżej

można użyć następujących jQuery selektorów: #id i input[name=something] (nie trzeba używać obu z nich)

Aby dodać click event na przycisku (w danym przypadku) Cię można użyć .click(function(){})

Więc:

$(function(){ 
    $("#your_btn_id").click(function(){ // using selector by id 
      // do something 
    }); 

    $('input[name="your_btn_name"]').click(function(){ // using selector by name 
     // do something 
    }); 
}) 

można również połączyć selektorów:

$(function(){ 
    $('#your_btn_id, input[name="your_btn_name"]').click(function(){ 
      // do something 
    }); 


    // or 


    $("#your_btn_id").add('input[name="your_btn_name"]').click(function(){ 
      // do something 
    }); 
}) 

Fiddle

+1

Kod i objaśnienia * w odpowiedzi * jest zawsze lepszy (JSFiddle, aby utworzyć kopię zapasową, która działa) :) –

+0

Oh ok. Zaktualizuję moją odpowiedź :) – Kosmog

5

wg nazwy wejściowego użytku input[name="callbutton"] przez id użyciu identyfikatora notacji #

$(document).ready(function() { 
    $('input[name="callbutton"],#textarea').click(function() { 
    alert("HELLO!!!");  
    }); 
}); 
Powiązane problemy