2016-10-31 4 views
0

Ich versuche mit onClick ein Eingabefeld = "time" mit der in einem td aufgelisteten Zeit zu aktualisieren. Ich verwende,Aktualisiere Eingabetyp = "Zeit" funktioniert nicht

document.getElementById("modal-checkin").value = Check_In; 

ich ein Beispiel auf http://www.w3schools.com/jsref/prop_input_time_value.asp gefunden, aber es ist nicht das Feld zu aktualisieren. Kann mir jemand sagen, was ich vermisse/falsch mache?

Hier ist der relevante Code, den ich verwende, um die Zeitvariable zu übergeben. Ich benutze PHP, um die Zeiten aus meiner Datenbank zu ziehen, dann versuche ich Javascript zu verwenden, um die Zeit, die der Benutzer auswählt, in ein Popup-Modal zu setzen.

<?php 
$In = $row['CheckIn']->format('g:i'); 
print '<td data-toggle="modal" data-target="#myModal" onClick="TimeAdjustFunction(\' '.$In.' \')" >'; 
?> 

<div class="modal-table-Bottom"> 
    <div>Check In</div><div><input type="time" id="modal-checkin" /></div> 
</div> 

<script> 
function TimeAdjustFunction(In){ 
var Check_In = In; 
console.log(Check_In); 
document.getElementById("modal-checkin").value = Check_In; 
} 
</script> 

console.log zeigt 08.45 (* was auch immer, wenn ich klicken)

+1

Was erwarten Sie? Die Seite wird nicht neu geladen, daher wird das PHP-Skript nicht erneut ausgeführt. Es ist also immer die gleiche Zeit. Müssen Sie die Zeit von PHP bekommen? –

+0

Sie verwischen die Grenzen zwischen dem was PHP tun kann und was Javascript kann. PHP wird nur ausgeführt, wenn die Seite zum ersten Mal geladen wird. Sie können die Zeit beliebig oft anfordern, es wird immer der gleiche Wert sein. Sie sollten A) die Zeit mit Javascript erhalten, das Live-Update ist, oder B) eine AJAX-Anfrage an ein PHP-Skript machen, das die Zeit zurückgibt. – samiles

+0

Die Zeiten werden in einer Datenbank gespeichert und per PHP auf der Seite in die Liste geladen. Es gibt ein Popup-Modal, das leer anfängt, aber die Zeit, in der der Benutzer auf – Trekin

Antwort

0

mein Problem gefunden. input type = Zeit erwartet die Zeit mit führenden Nullen. Ich war mit

-> Format ('g: i')

Ich änderte das 'g' auf eine 'h' und jetzt funktioniert es.

-2

Sie benötigen Sekunden hinzuzufügen.

var Check_In = In + ':00'; 
+1

klickt, muss ausgefüllt werden, damit die Frage nicht beantwortet wird. Du brauchst das zweite nicht. –

Verwandte Themen