Javascriptを使用して「リセットボタン」をクリックした後、フォームのテキスト入力を黒に変更しようとしているという問題があります。
問題を解決するために HTML でonResetを使用することを検討しましたが、 Javascript のみ(または必要に応じて JQuery) を使用してこれを解決する必要があるため、以下のHTML は編集できません。document.forms と getElementbyID("contact") を検討しましたが、そこから何をすべきかわかりません。
どんな助けでも感謝します!
ここに私のHTMLがあります:
<form id="contact" action="" onsubmit="checkContactForm( this ); return false;" >
<p>
<label for="name">First name:</label>
<input name="name" id="name" onfocus="resetField( this );" />
</p>
<label for="message">Your Message:</label>
<textarea name="message" id="message" onfocus="resetField( this );"></textarea>
</p>
<p>
<button type="submit">Send Message</button>
<button type="reset">Reset Form</button>
</p>
これが私のJavascriptです:
var requiredFields = [ "name", "message" ];
function resetField( theField ) {
if ( theField.value == "Error" ) {
theField.value = "";
theField.style.color = "#000";
}
}
function resetForm( theForm ){
for ( i in requiredFields ) {
var fieldName = requiredFields[ i ];
var theField = theForm[ fieldName ];
theField.style.color = "#000";
theField.value = "";
}