2017-05-20 8 views
0

Ich brauche Hilfe. Ich habe ein grundlegendes HTML-Formular, das unten ist. Jetzt, als ich es in meinem Browser aufrufen, ich habe zwei Felder auch wissen, wie:Html Formular auf Senden Schaltfläche

Zusammenfassung = summ Beschreibung = Kommentar

jetzt auf die Schaltfläche Senden die Aktion ist eine URL zu nennen, aber ich will die beiden oben genannten Felder Teil der uRL

So sein, wenn ich manuell setzen John Zusammenfassung Feld & Smith in Beschreibungsfeld ist, muss die uRL der Feldwerte fangen und wie

sein

http://itds041/trackit/app%20-%20cop...EST+USER&summ=John&comment=Smith

Blockquote

<form action="/trackit/app%20-%20copy/curl_create.php?thisuser=TEST+USER&summ=&comment=" method="post" target="_self"> 

Zusammenfassung:
Beschreibung:

Blockquote

Siehe Screenshot zu erklären. enter image description here

Grüße Shabeersa

+0

Wenn 'Post' Formular abzuschicken verwendet wird, ist es nicht eine gute Praxis, um die gesendeten Daten in der URL enthalten. Gibt es dafür besondere Gründe? Vielleicht ist das ein x-y Problem? http://xyproduction.info/ – shaochuancs

+0

Kein besonderer Grund, Grundsätzlich möchte ich am submit muss es URL mit den Feldparametern öffnen – shabeersa

Antwort

0

„Jetzt auf die Schaltfläche Senden ist die Aktion eine URL zu nennen, aber ich möchte die beiden oben genannten Felder Teil der URL sein“

Es gibt 2 Möglichkeiten, den Wert der Felder als Teil der URL zu machen:

  1. Verwenden GET-Methode in fo rm. Dies ist der empfohlene Weg, da es einfacher und semantisch korrekter ist - Daten in der POST-Anfrage werden normalerweise als Text und nicht als Teil der URL übergeben.

    Eine einfache jsfiddle (https://jsfiddle.net/cshao/mtzqpprx/1/) wird Bezug genommen. Nachdem das Formular durch Anklicken eingereicht wird die Schaltfläche Senden, eine GET Anforderung, in URL eingebettet mit Feldern Daten gesendet.

  2. Verwenden Sie die POST-Methode, um das Formular zu senden, aber die HTTP-Anfrage wird von JavaScript gesendet, nicht durch die Aktion des Formulars.

    Eine andere jsfiddle() wird zum Beispiel gemacht. Die wichtigsten Schritte sind hier:

    • <form onsubmit="submitForm(event)">. Fügen Sie den Ereignis-Listener für das Sendeereignis an.
    • event.preventDefault();. Verhindere das Standard-Übergabeverhalten des Formularelements.
    • var url = 'https://example.org/api?' + $.param(params);. Konstruieren Sie URL mit Feldern Daten, und dann HTTP-Anforderung an sie senden. Im Beispielbeispiel habe ich gewählt, eine Ajax-Anfrage zu senden und die Antwortdaten zu drucken.
Verwandte Themen