https://developer.mozilla.org/zh-CN/docs/Web/API/FormData
Zu lösendes Problem:
- Wie wandele ich ein Formularelement <form> in ein FormData- Objekt um?
- Wie erhalte ich ein Iteratorobjekt , das alle Schlüssel im FormData- Objekt enthält ?
- Wie iteriere ich das Iteratorobjekt ?
HTML Quelltext:
<form onsubmit="return transmit(this);">
原始密码:<input type="password" name="pw" />
新的密码:<input type="password" name="npw1" />
重复密码:<input type="password" name="npw2" />
</form>
JavaScript-Code:
function transmit(formObject)
{
var formData = new FormData(formObject);
var iterator = formData.keys(); //得到包含所有key的迭代器
var nextElement = iterator.next(); //获取到迭代器中的下一个元素
while (!nextElement.done) //判断 nextElement.done 是否为 true,如果为 true,则说明已经迭代完了所有元素,循环结束。
{
console.log(nextElement.value);
nextElement = iterator.next(); //通过 nextElement.value 获取到当前元素的值
}
}
Code-Erklärung:
In der Schleife erhalten wir zunächst das nächste Element im Iterator , indem wir die Methode iterator.next() aufrufen, und beurteilen dann , ob nextElement.done wahr ist . Wenn es wahr ist, bedeutet dies, dass alle Elemente iteriert wurden und die Schleife endet. Andernfalls können wir den Wert des aktuellen Elements über nextElement.value abrufen und entsprechend verarbeiten.