2017-10-03 1 views
1

j'ai un formulaire HTMLJS, Se objet datetime de la forme html

<form onsubmit="return test();"> 
    Start:<input type="date" name=start><br> 
    End:<input type="date" name=end><br> 
    Type: <select name = "type"> 
    <input type="submit" value = "Submit"></input> 
</form> 

et essaie d'accéder à la date en tant ISOString dans une fonction javascript

function test() { 
    ... 
    const start = oForm.elements["start"].value.toISOString() 
    ... 

} 

Cependant, cela ne travail. Toute orientation serait grandement appréciée.

Répondre

1

Je ferais comme ça, en convertissant d'abord la valeur à un objet Date:

const start = document.querySelector('input[name="start"]'); 
const date = new Date(start.value).toISOString(); 

Comme une note de côté, si vous allez travailler avec beaucoup de dates je CheckOut instant .js. Il a beaucoup de fonctions très utiles pour la manipulation et la manipulation des dates et des heures.

0

Vous pouvez transmettre sous forme contexte et les valeurs sous forme de fenêtre contextuelle (ou d'une autre si vous préférez) fonction, par exemple:

<form onsubmit="return test(this);"> 
    Start:<input type="date" name="start"/><br> 
    End:<input type="date" name="end"/><br> 
    Type: <select name = "type"/> 
    <input type="submit" value = "Submit"/> 
</form> 

Et la fonction est

window.test = function(data) { 
let start = data.elements['start'].value; 
console.log(start); // check value, 2017-01-01 for example 
return { 
    start: new Date(start).toISOString() 
} 
}