Frage

Ich habe ein einfaches Eingabefeld in einem Formular-Tag:

<body>
  <form action="#">
      <label>Input</label>
      <input type="hidden" id="foo" name="foo" />

  </form>
</body>

Ich habe versucht, diesen Wert aus einer js-Datei festlegen:

$(document).ready(function(){
    $('#foo').val('foo')
})

aber in der HTML-Quelle wird das Attribut überhaupt nicht festgelegt. Wenn ich versuche, den Eingangstyp auf „Taste“ oder irgendetwas anderes zu setzen, funktioniert es. Ich kann es einfach nicht mit einem hidden Eingabefeld. Was mache ich falsch?

War es hilfreich?

Lösung

Können Sie den Wert aus dem verborgenen Feld abrufen, wenn Sie den val-Tag gesetzt?

z.

<input type="hidden" id="foo" name="foo" value="bar" />

$(document).ready(function(){
  alert($('#foo').val());
})

Andere Tipps

dachte ich es aus. Der Wert wurde eingestellt von jQuery, aber wenn ich die Quelle betrachtet der neue Wert wurde nicht gezeigt. Ich habe versucht, diesen (dank Fermin):

$('#foo').val('poo')
alert($('#foo').val())

und es angezeigt, um den geänderten Wert.

Die beste Antwort, die ich war in der Form gefunden http: //forum.jquery. com / Thema / passing Wert-to-hidden-Form-Feld .

Statt $('#Data').val(data); Wo die verborgene Feld ID ist 'Daten'

Verwenden $('input[name=Data]').val(data);

Funktioniert perfekt für mich

Ich habe auch mit diesen zu kämpfen. Wenn Sie setzen einen Anfangswert etwa ‚0‘ und dann auf den DOM sehen so etwas wie Firebug werden Sie feststellen, dass der DOM aktualisiert dann. Aus irgendeinem Grund, wenn der Anfangswert auf null oder eine leere Zeichenfolge gesetzt ist, funktioniert das DOM nicht aktualisieren, aber der Wert gespeichert ist tatsächlich noch.

Sie können dies testen, indem Sie die val Alarmieren, nachdem Sie es eingestellt haben (wie in früheren Beiträgen vorgeschlagen)

Ich habe dieses Problem hat, als POST-ing meine Form und mein PHP-Skript nicht POST-ed Wert bekommen können. Ich habe diese:

$('#elemId').attr("name", theValue);

Hope es hilft.

Ich würde benötigen die ganze Datei zu sehen, aber meine Vermutung ist, entweder Sie sind nicht inklusive der jquery.js Quelldatei oder Sie haben mehrere Elemente mit einer ID von foo

Ich hatte das gleiche Problem mit einem verborgenen Eingabefeld. Id i gesetzt den Anfangswert auf 0, es funktioniert gut, aber manchmal habe ich nicht einen Anfangswert von 0 haben will. So testete ich mit value =““, ein Leerzeichen, und es funktioniert auch für mich. Wenn Sie den Wert dynamisch von PHP füllen könnten Sie value="<?= $val+0; ?>" tun, wenn 0 in Ordnung für Sie, oder value="<?= $val; ?> " wenn ein Leerzeichen in Ordnung ist.

Ich weiß, dass es zu spät ist, aber immer noch das helfen könnte jemand .... Wenn keine der oben genannten Lösungen arbeiten, diese gerade tun ...

$(document).ready(function() {
$('#foo').attr("value","foo") });

Keine der oben genannten Lösungen für mich gearbeitet.

Ich hatte die folgenden, um es zu tun:

$('#foo').val(data).blur();

Rather dann value-Attribut mit einem String initialisieren Sie Ihre Eingabe wie folgt initialisiert.

<input type="hidden" name="foo" id="foo" value="${foo}">

„foo“ den neuen Wert enthalten Sie es zu setzen.

Ich habe bestätigt, dass den Wert eines verborgenes Feld Einstellung nicht Arbeit mit einem jQuery-Selektor wie dieses ...

$('[name="my_field"]').val('Something');

Wird nicht ein verstecktes Feld aktualisieren ... irgendwie schockierend.

<input type="hidden" name="my_field" id="my_field">

gezwungen wurde, anstatt eine CSS versteckt Feld zu verwenden.

<input type="text" name="my_field" id="my_field" style="display:none">

Offenbar gibt es andere Probleme bei der Verwendung des id von einem versteckten Feld als auch ... Set Wert versteckt Feld in einem Formular jQuery ".val ()" mit nicht funktioniert

. Hinweis: achten Sie darauf, den Wert in der Konsole zu erhalten und nicht durch Inspektion

$('[name="my_field"]').val();
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top