2015-11-24 37 views
5

Sto passando alcuni valori tramite un collegamento "Mi piace", voglio impostare la proprietà in modo tale che il collegamento sia nascosto o disabilitato se viene cliccato una volta .. hanno provato questo codice
onclick="this.style.display='none';"nascondere un collegamento dopo il primo clic nel link html.disable.in html.java

Ma non sembra essere working.Please aiuto come dove mettere i js o qualsiasi altro metodo alternativo ..

<a href="like1?sellerid=<s:property value="id"/>&property_id=<s:property value="p_id"/>"onclick="hide">Like</a>;' 
+1

Quello che hai dovrebbe funzionare bene: http://jsfiddle.net/Lpzdpuso/. Controlla la console per eventuali errori. –

+0

Si prega di smettere di modificare la tua domanda - Ho già risolto il blocco di codice 3 volte. –

risposta

0

Se è necessario passare alcuni valori e nascondi l'elemento che dovresti usare ajax. Mentre passi un attributo url a href, ti reindirizzerà a quella pagina. Una funzione di script java può funzionare meglio. Chiamare una funzione javascript evento onClick come

<a href="#""onclick="hide()">Like</a> 

<script> 
function hide(){ 
// ajax call to send parameter 
// hide element 
} 

</script> 
3

Come è stato detto questo funzioni è meglio essere attuato con javascript. prima assegnare un ID valido per il link e seguire questo:

//create a function for the click like: 
$('#buttonId').click(hideButton); 

In seguito, nel codice javascript:

function hideButton(){$('#buttonId').css({'visibility':'hidden'})}; 

Ricordati di importare libreria jQuery e importare i .js quando viene visualizzato il codice se non si utilizza una funzione .ready.

Modifica: si noti che nel modo precedentemente esposto si otterrà comunque la casella in cui si trovava il collegamento, ma verrà visualizzato nascosto.

+0

sì, funziona, ma il problema è che una volta aggiornata la pagina riappare – zeeshan

+0

Quindi utilizzare un controllo var. Impostare un esempio var come: var control = 0. Una volta che si fa clic su set control = 1 e si mette la funzione dentro a se esegue la funzione solo se control = 0 –

+0

Ovviamente, se si aggiorna la pagina tutte le variabili vengono nuovamente impostate in valori "default". Quindi se la tua applicazione funziona in connessione con altre lingue come php o sql devi impostare lì il controllo del valore per evitare i tuoi problemi. –

0

Definire una classe per il tag anchor e un post utente ajax per inviare la richiesta e quindi è sufficiente nascondere l'elemento con hide().

Vedere sotto esempio:

$(".like").on("click", function (e) { 
 
    e.preventDefault(); 
 
    $.post(this.href); 
 
    $(this).hide(); 
 
});
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<a class="like" href="like1?sellerid=-1">Hide me</a>