wake-up-neo.com

Wie kann man den Wert eines versteckten Eingabefeldes mit Javascript einstellen?

Ich versuche, die resetyear-Funktion aufzurufen und sie wird auch aufgerufen, aber der Fluss stoppt bei Alarm ("over"), er überträgt seine Steuerung nicht an resetmaster. Bitte schlagen Sie mir etwas vor.

    String flag = "";
    flag = (String) session.getAttribute("flag");
    System.out.println("flag = " + flag);
    if (flag == null) {
        flag = "";
    }
    if (flag.equals("yes")) {
%>   
<script>

   alert(1);
  // resetyear();
    dontreset();
    //document.getElementById("checkyear").value = "1";
    //alert(document.getElementById("checkyear").value);

</script>
<%} else if(flag.equals("no"))
    {%>
<script>
    alert(2);
    //document.getElementById("checkyear").value = "2";
    //alert(document.getElementById("checkyear").value);
    resetyear();
</script>
<%}else{}%>


function resetyear(){

if(confirm("DO YOU WANT TO RESET THE YEAR?"))
{
    alert("hello");
    //document.forms['indexform'].action = "resetmaster";
    //alert(document.forms['indexform'].action);
    //document.forms['indexform'].submit();  
    alert("over");
    form.action = "resetmaster";
    form.submit();
    alert(1);
}
33
Divyang

Bei mir funktioniert es:

document.getElementById("checkyear").value = "1";
alert(document.getElementById("checkyear").value);

http://jsfiddle.net/zKNqg/

Möglicherweise wird Ihr JS nicht ausgeführt und Sie müssen eine function () {} hinzufügen.

57
almo

Sie müssen Ihr Skript ausführen, nachdem das Element vorhanden ist. Bewege das <input type="hidden" name="checkyear" id="checkyear" value=""> zu Beginn.

6
Matt H

Es scheint gut in Google Chrome zu funktionieren. Welchen Browser benutzen Sie? Hier der Beweis http://jsfiddle.net/CN8XL/

Sie können jedoch auch über document.FormName.checkyear.value Auf den Eingabewert-Parameter zugreifen. Sie müssen die Eingabe in ein <form> - Tag wie in der folgenden Abbildung mit dem richtigen name - Attribut einschließen:

<form name="FormName">
    <input type="hidden" name="checkyear" id="checkyear" value="">
</form>

Haben Sie darüber nachgedacht, die jQuery Bibliothek zu verwenden? Hier sind die docs für .val() function .

4
andreacanton

Das erste, was ich versuchen werde - festzustellen, ob Ihr Code mit Warnungen tatsächlich gerendert wird. Ich sehe einen Server "wenn" Code in dem, was Sie gepostet haben, so dass möglicherweise die Bedingung zum Rendern von Javascript nicht erfüllt ist. Klicken Sie auf der Seite, auf der Sie gerade arbeiten, mit der rechten Maustaste auf -> Quelltext anzeigen. Versuchen Sie dort den js-Code zu finden. Bitte teilen Sie uns mit, ob Sie den Code auf der Seite gefunden haben.

1
Alex Buyny

Ihr Code zum Einstellen des Werts für versteckte Eingaben ist korrekt. Hier ist das Beispiel . Möglicherweise haben Sie in Ihren if -Anweisungen einige Bedingungen, die die Ausführung Ihrer Skripts nicht zulassen.

1
Alex