2017-06-21 1 views
-1

Ich habe eine Funktion, die ich für zwei sehr ähnliche Aktionen (Like und Universe) verwenden möchte. Ich bin mir sicher, dass ich etwas umbenennen muss, aber nachdem ich online gesucht habe, konnte ich nichts scheinbar Offensichtliches finden. Jede Hilfe wird sehr geschätzt.So benennen Sie eine Funktion in Javascript um

Script Ich möchte umbenennen:

<script> 
$(function() { 
// get into the habit of caching the elements you will be re-using 
var error = $('.error'); 

$('.button').click(function() { 
    error.hide(); 

    // cache all the elements we'll be using 
    var contactForm1 = $(this).closest('.contact_form1'), 
     likesid = contactForm1.find('input[name=likesid]'), 
     likerid = contactForm1.find('input[name=likerid]'); 
     unlikestatus = contactForm1.find('button1[name=unlikestatus]'); 

    if (likesid.val() == '') { 
     // ... 
     likesid.focus(); 
     return false; 
    } 
    if (likerid.val() == '') { 
     // ... 
     likesid.focus(); 
     return false; 
    } 

    // easier to use object rather than string 
    // not sure where likestatus came from so it is ommitted 
    var data = { likesid: likesid.val(), unlikestatus: unlikestatus.val(), likerid: likerid.val() }; 

    // short-hand method for $.ajax with POST 
    $.post('simpletest.php', data, function (res) { 
     // the rest 
     contactForm.html('<h5 class="message" style="color: #4EB44B;">unliked</h5>') 
    }); 

    // no need to do any return false 
}); 
}); 
</script> 
+0

Sie möchten eine Funktion oder ein Skript umbenennen? – mkaatman

+0

Ich bin mir nicht sicher, ich bin sehr neu in Javascript. Ich suche nach allem, was es mir erlauben würde, denselben Code zweimal zu verwenden, indem ich nur ein paar Dinge ändere – sicksixstrings

+2

Übergeben Sie sie als Argument an Ihre Funktion –

Antwort

1

Ihre Frage unklar ist aber vorausgesetzt, Sie müssen nur Attribute auf den Button passieren zu erkennen, welche Schaltfläche geklickt wurde, können Sie es über die Schaltfläche tun können sich.

Javascript-Funktion:

$(function() { 
    $(".buttonClassName").click(function() { 
    //Method 1 to retrieve custom data from the button 
    alert($(this).attr("data-somedata")); 
    //Method 2 to retrieve custom data from the button (newer jQuery >= 1.4.3) 
    alert($(this).data("somedata")); 
    }); 
}); 

HTML:

<button class="buttonClassName" data-somedata="someTestDataFromButton1">Like</button> 
<button class="buttonClassName" data-somedata="someTestDataFromButton2">Dislike</button> 

Fiddle: https://jsfiddle.net/qpLoh3tz/1/

+0

ist es möglich, --- $ ('. Button') zu ändern. Click (function() {--- also statt auf ".button ", Kann ich auf eine Klasse oder ID der Schaltfläche verweisen? – sicksixstrings

+0

In diesem Kontext ist" .button "der Klassenname der Schaltfläche, Sie können einen beliebigen Namen haben. –

+0

Ich habe den Klassennamen oben und die aktualisiert Geige zum besseren Verständnis.Wenn Sie die ID verwenden möchten, dann wickeln Sie die Logik in eine Funktion und rufen Sie die Funktion, wenn einer der Schaltfläche geklickt wird .. –

Verwandte Themen