HTML-Anker zum senden von post-Daten auf, klicken Sie auf
Ist es möglich, einen Anker-tag verhält sich wie ein .Einreichen (mit gewissen post-Merkmale?) Grund, warum ich ein Anker-tag, weil ich mag den submit-button Aussehen und wollte eine CSS-Taste.
Hier ist, was ich gerade mache (und es funktioniert nicht)
html-Datei
<div class="footer"><a href="#" id = "test_btn" class="button"><strong>Sign Up</strong></a></div>
<div class="footer"><a href="#" id = "test2_btn" class="button"><strong>Sign Up</strong></a></div>
den .js-Datei
<script type="text/javascript">
$("#test_btn").live("click",function(){
var post_data = {'account_type':"Free"}
return $.post("www.someplacehere.com/user_sign_up/1/", post_data);
});
$("#test2_btn").live("click",function(){
var post_data = {'account_type':"Premium"}
return $.post("www.someplacehere.com/user_sign_up/1/", post_data);
});
</script>
Bekomme ich eine richtige Antwort, aber es funktioniert nicht, senden Sie mir die POST-Daten-Seite leitet nur zurück an den Anfang der Seite (durch den Anker). Irgendwelche Ideen, wie man es mir direkt an der richtigen Stelle (html-Seite) mit den POST-Daten pre-gefüllt auf dieser html-Seite? Als Sie feststellen, es ist nicht einfach .submit()
.
Jetzt wohl gehen mit einem versteckten Feld und machen Sie dann einen .submit()
, aber Frage mich, ob es ist ein einfacher Weg, um die Seite bekommen, da die POST konnte ordnungsgemäß durchgeführt werden.
Dank!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Jeder stop neu zu erfinden Tasten. Sie bereits existieren, und Sie kann gestaltet auch.
demo würde hier: http://jsfiddle.net/MZbLW/
Sollte ich auch darauf hinweisen, dass jeder in der Welt sucht für den traditionellen Knopf am Ende des Formulars, und machen es völlig anders Aussehen vielleicht nicht die beste Idee, die aus usability-Sicht.
In der click-handler für den link, geben Sie false zurück, stoppen Sie die Standard-Aktion.
Ich würde auch nur die Nutzung der klicken Sie auf() Funktion, nicht Leben.
Ihre click-Ereignis braucht, um entweder false zurück, oder verhindern, dass Standard.
Verwendung von AJAX ist Asynchrone so dass Sie nicht wieder den Wert haben, müssen Sie den Wert in der kompletten Rückruf.
http://api.jquery.com/jQuery.post/
Sowas kommt wohl näher:
Der Schlüssel hier ist, dass die Rückgabe von false wird verhindert, dass das Standardverhalten für den link. Wenn Sie brauchen, um eine zusätzliche Verarbeitung auf der Grundlage der Ergebnisse der post, den Sie tun werden, daß innerhalb einer callback-Funktion. Es gibt keinen Grund Sie können nicht erteilen mehrere AJAX-Aufrufe innerhalb der Funktion gebunden, um Ihre Anker, aber Sie müssen sicherstellen, dass der link nicht funktioniert, da ein link als gut.
Einen schnellen Gedanken, warum nicht Sie versuchen, mit
<button type="submit" class="footer" >Anmelden</button>
anstatt
<input type=submit>
Dies gibt Ihnen die Flexibilität, das styling von deinem button welcher Weise auch immer Sie möchten und der text in so gut. Neben Ihnen haben noch zu tun, all die harte Arbeit für das erstellen von benutzerdefinierten Schaltfläche und stellen Sie es zurück.
Nur geben ihm ein Gedanke.