2015-04-17 13 views
5

Hai il codice successivo HTML:Chiama JavaScript/AJAX con un pulsante senza funzione onClick tramite il suo nome di input. È possibile?

<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> 

E la prossima codice JavaScript:

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

Quello che voglio è quello di chiamare la funzione JavaScript dal suo nome di ingresso pulsante. È possibile? e dal suo input id? Grazie mille.

risposta

5

Prova questo:

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

funzionerà.

Spiegazione:# viene utilizzato per selezionare l'elemento da id e . viene utilizzato per selezionare un elemento da nomeclasse. si seleziona l'elemento per nome, quindi è necessario utilizzare lo $("input[name=callbutton]"). Se si seleziona un elemento in base alla relativa proprietà o attributo, è necessario utilizzarlo nelle parentesi []. [property_name=property_name_value] piace questo.

+1

Grazie mille a tutti voi ragazzi! Dopo un po 'mi sono reso conto che il collegamento di chiamata a js/jquery era sotto il collegamento di chiamata al mio js/textareascript.js !!!!!!! ecco perché la sceneggiatura non funzionava. Che cazzo! – user3321425

+0

@ user3321425 è bello sapere da te e dal tuo duro lavoro. Il mio piacere di aiutarti. :) –

5

Ovviamente è possibile. Ho postato un jsfiddle sotto

È possibile utilizzare seguente jQuery selettori: #id e input[name=something] (non è necessario utilizzare entrambi)

Per aggiungere un click event su un pulsante (nel tuo caso) si può usare .click(function(){})

Quindi:

$(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 
    }); 
}) 

È possibile anche combinare selettori:

$(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

Codice e spiegazione * nella risposta * è sempre meglio (JSFiddle per eseguire il backup che funziona) :) –

+0

Oh ok. Aggiornerò la mia risposta :) – Kosmog

5

per nome ingresso uso input[name="callbutton"] da id utilizzare l'ID di notazione #

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