2016-10-24 2 views
0

Ich möchte Timestamp von Java-Skript zu einem versteckten Formular-Eingabefeld geschrieben. Der folgende Code schreibt den Zeitstempel in einen Absatz (p-Element), schreibt aber nicht auf das Eingabeelement.schreibe Java Script Timestamp in das Eingabefeld

Es schreibt in ein Element, aber nicht in ein anderes Element.

Kann jemand dieses Verhalten des Skripts beleuchten?

<!DOCTYPE html> 
<html> 
<body> 
<p id="demo">pkj</p> 
<input id="ts" type="time" name="ts"></input> 
<script> 
    var oD = new Date(); 
    document.getElementById("ts").innerHTML = oD.getTime();//**FAILS** 
    document.getElementById("demo").innerHTML = oD.getTime();//**SUCCEEDS** 
</script> 

Antwort

0

<input> per Definition ist ein leeres Element, dh es gibt keine innerHTML- ist, hat es keinen zulässigen Inhalt. Ein abschließendes Tag (</input>) ist nicht erforderlich.

https://developer.mozilla.org/en/docs/Web/HTML/Element/Input

Sie können die Eigenschaft "Wert" ändern, eine Art Standard-Eingabe von

document.getElementById("ts").value = oD.getTime(); 

Oder Sie könnten ein Label wie

<label id="label">xyz</label><input id="ts" type="time" name="ts"> 

und ändern Sie es mit

hinzufügen
document.getElementById("label").innerHTML = oD.getTime(); 
+0

Dank JosefScript, – Jayk

+0

Nun, markieren Sie es dann als beantwortet;) – JosefScript

+0

Und btw, noch keine Notwendigkeit für eine End-Tag. – JosefScript

0

Wie pro Ihrem Rat änderte es das Attribut des Eingabeelementes von „innerHTML-“ auf „**

Wert ", wie er jetzt in Code below.It funktioniert gut gezeigt. Das Problem ist gelöst. !

dank

Jayk

<!DOCTYPE html> 
<html> 
    <head> 
    </head> 
    <body> 
     <p id="demo" > </p> 
     <input id="ts" type="time" name="ts" value=""></input> 
     <script> 
      var oD = new Date(); 
      document.getElementById("ts").value = oD.getTime();//**SUCCEEDS** 
      document.getElementById("demo").innerHTML = oD.getTime();//**SUCCEEDS** 
      var t=document.getElementById("demo").innerHTML 
     </script> 
</body> 
</html>