送信をクリックした後、作成中のフォームのフィールドが空のときにポップアップを追加しようとしています。送信をクリックするとポップアップが正常に機能しますが、リセットボタンをクリックするか、すべてのフィールドに入力すると、ポップアップが消えて機能しません。これは Javascript (または Jquery) と CSS を使用してのみ解決でき、HTML コードは変更できないことに注意してください。
Javascript (関連すると思われるものをここに含めました):
function showPopUp(){
popUp = document.createElement( "div" );
popText = document.createElement( "p" );
popUp.id = "popUp";
document.body.appendChild( popUp );
popText.id = "popText";
popText.innerHTML = "Still have fields empty";
popText.style.marginLeft = popUp.width / 2 + "px";
popText.style.marginTop = popUp.height / 2 + "px";
document.body.appendChild( popText );
return false;
}
function closePopUp() {
popText.parentNode.removeChild(popText);
popUp.parentNode.removeChild(popUp);
}
showPopUp(); checkContactForm( this ) 関数で実行されます。
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>