2017-10-11 1 views
0

Ich bin mir nicht sicher, ob dies möglich ist. Ich möchte nur nachsehen. Einige Ratschläge helfen Ihnen wirklich. Ich möchte alle meine Formulare auf eine Dankeseite mit einer Klasse umleiten.Wenden Sie nur Umleitung auf bestimmte Submit Buttons mit Javascript

Dies ist der Code, den ich schrieb.

if ($(".vfb_redirect")[0]){ 
    window.location = "https://webfootprint.co.za/thank-you"; 
} 

Aber ich weiß, dass dies für alle gelten wird Submit-Buttons, wenn die Klasse .vfb_redirect auf der Seite vorhanden ist, die ein Problem wird, wenn ich einen anderen Submit-Button auf meine Seite hinzufügen möchte. (2 Senden Schaltflächen auf einer Seite.)

Was ich tun möchte, ist die Umleitung nur auf die Schaltfläche Senden mit der Klasse .vfb_redirect.

Bitte, kann mir jemand in die richtige Richtung zeigen, wie ich das erreichen kann?

Ich brauche es eine Klasse zu sein, weil ich ein kostenpflichtiges Plugin verwende, das nur eine Klasse zu meinen Formularfeldern hinzufügen kann.

Vielen Dank im Voraus.

+0

Wie wäre es 'if ($ (" vfb_redirect") [0] && theRightSubmitButtonBeClicked) {...' – leaf

+0

Verwenden Form Elements ' Aktion ', um Sie auf die URL umzuleiten, und geben Sie Ihre Absenden Schaltfläche Typ =' Senden '. Es wird das Ding für dich tun. Verweisen Sie auf diesen Link: https://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_form_get – Harman

Antwort

1

Warum definieren Sie keine Methode innerhalb Ihrer Schaltfläche, die für die Umleitung verantwortlich ist?

function redirect(){ 
 
    window.location = "https://example.com/"; 
 
}
<button type="submit" onclick="redirect()">Submit</button>

Auf diese Weise nur auf diese Schaltfläche für Sie die Umleitung tun.

0

statt der Schaffung einer einreichen, erstellen Sie eine Schaltfläche, die eine Funktion aufruft, die URL einreichen ändern und rufen Sie dann die js einreichen:

<script> 
    function submitForm(id){ 
     if (id === 1) 
      document.getElementById("myForm").target = "URL1"; 
     else 
      document.getElementById("myForm").target = "URL2"; 

     document.getElementById("myForm").submit(); 
    } 
</script> 

und dann Tasten:

<input type="button" onclick="submitForm(1) value="Button 1" /> 
<input type="button" onclick="submitForm(2) value="Button 2" /> 
1

Versuchen jQuery click() Methode

$(".vfb_redirect").click(function(){ 
 
    window.location = "https://example.com/"; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button type="submit" class="vfb_redirect">Submit</button>

Bei mehreren Tasten

function redirect(){ 
 
    window.location = "https://example.com/"; 
 
}
<button type="submit" class="vfb_redirect" onclick="redirect(this)">Submit</button>

+0

Es kann mehr als eine Schaltfläche mit derselben Klasse geben. – Harman

+0

@Harman sagte er 'nur die Submit-Schaltfläche mit der Klasse .vfb_redirect.' – Jonathan

Verwandte Themen