Kann mein Javascript nicht auf meiner Website funktionieren – was mache ich falsch?

Ich habe hier ein Javascript, das als Schnipsel gut läuft, aber ich habe es schwer, es auf meiner Website zum Laufen zu bringen. Ich habe viele Plug-Ins vergeblich versucht.

Meine Frage ist; kann mir jemand helfen, dieses javascript auf meine website hochzuladen? Die Seite, an der ich arbeiten möchte, ist https://cruxstickers.com/zztest .

Danke für jede Hilfe!

$("#product-details-continue").click(function() { var addr = "https://cruxstickers.com/product/" + $("input[type=radio][name=variant_id]:checked").val() + "-" + $("input[type=radio][name=quantity]:checked").val(); alert(addr); // change the addr to relevant URLs and do this instead... // location.href = addr; }); 
  
Select a quantity

Unten ist meine letzte Javascript-Lösung. Ich habe das zu meiner WordPress Themes functions.php Datei hinzugefügt.

 add_action('wp_footer',function(){ ?>  jQuery(document).ready(function() { jQuery("#product-details-continue").click(function(e) { e.preventDefault; var vrnt = jQuery("input[name=variant_id]:checked").val(); var qnty = jQuery("input[name=quantity]:checked").val(); var addr = "https://cruxstickers.com/product/" + vrnt + "-" + qnty; window.location.assign(addr); return false; }); });  <?php }); 

Solutions Collecting From Web of "Kann mein Javascript nicht auf meiner Website funktionieren – was mache ich falsch?"

Erstens ist das JS falsch:

Im Browser Developer / Web Inspector> Konsole auf Ihrer Site habe ich $() eingegeben und “undefined” erhalten. Ich habe dann jQuery() , und es zeigt einen Wert, so dass es definiert ist. Sie sollten also jQuery( , nicht $( durchgehend) verwenden.

Hinweis: Ich sehe die Fortsetzung Schaltfläche ist einfach ein Element, nicht in einem

, aber wenn es sein wird, mit .click() möchten Sie die Standard-Schaltfläche klicken Aktion verhindern. Sie tun dies mit:

 yourButton.click(function(e){ e.preventDefault; // your code return false; }); 

So konnte ich den Knopf klicken, um durch die Konsole zu feuern:

 jQuery("#product-details-continue").click(function(e) { e.preventDefault; alert('👋'); }); 

Nicht notwendig, aber Sie sollten auch überlegen, ob Sie Ihre jQuery-Datei bereithalten möchten, um sicherzustellen, dass Ihr DOM vollständig geladen ist.

 jQuery(document).ready(function() { jQuery("#product-details-continue").click(function(e) { e.preventDefault; // your code alert('👋'); return false; }); }); 

Wenn ich deinen Code hinzufüge, könnte ich das URL-Popup mit Eingabewerten über die Konsole erhalten mit:

 jQuery(document).ready(function() { jQuery("#product-details-continue").click(function(e) { e.preventDefault; var vrnt = jQuery("input[name=variant_id]:checked").val(); var qnty = jQuery("input[name=quantity]:checked").val(); var addr = "https://cruxstickers.com/product/" + vrnt + "-" + qnty; alert(addr); return false; }); }); 

Bildbeschreibung hier eingeben


Zweitens, um dies in Ihre Site, in die functions.php-Datei Ihres Themes oder in Ihre .php-Datei für Plugins zu integrieren – wo auch immer Sie gerade entwickeln – können Sie Folgendes hinzufügen, um den JS-Code in die Fußzeile Ihres zu injizieren Seite? ˅:

 add_action('wp_footer',function(){ ?>  < ?php }); 

Schließlich haben Sie HTML mit einem Skript-Tag für https://ajax.googleapis..../jquery.min.js aber Sie brauchen das nicht, und es funktionierte nicht. Wenn Sie Ihren Quellcode durchsuchen, werden Sie sehen, dass Sie haben

  

Das ist der Grund, warum jQuery ohne Konfliktmodus jQuery() funktionierte. Wenn Sie Ihr externes Skript verwenden, sollten Sie es mit wp_enqueue_script () korrekt in Ihr WordPress-Theme einfügen .