2016-03-20 7 views
0

私はこの問題の解決に2日間以上挑戦してきました。スタック上のすべての関連記事を閲覧しましたが、運はありません。私は、データを受け入れるフォームを持っていますし、それを処理するPHPプロシージャに渡します。これは、htmlのおかげです。私はJavascriptやJQueryに慣れていませんが、時間を費やしても動作させることができます。私は無駄にしようとした多くの提案と共に、ここにコードを掲載しています。私の悲惨さを終わらせる助けに感謝します。ありがとう。提出後、フォームデータをクリアする方法データが渡された後

HTML

<form method='post' action='contact-form-proc.php' name='contactform' id='contactform' onsubmit="setTimeout('clear_form()',200);return true"> 
    <p> 
    <label for='fullname'>Your Name:</label><br/> 
    <input type='text' name='fullname' /> 
    </p> 

    <p> 
    <label for='email' >Email Address:</label><br/> 
    <input type='text' name='email' /> 
    </p> 

    <p> 
     <label for='mobile' >Mobile:</label><br/> 
     <input type='text' name='mobile' /> 
    </p> 
    <p> 
     <label for='checkIndate' >Check in Date:</label><br/> 
     <input type='text' name='checkIndate'/> 
    </p> 
    <p> 
     <label for='comment' >Comment:</label><br/> 
     <textarea name='comment' cols='25' rows='3'></textarea> 
    </p> 

    <input type="image" src="submit.gif" name="submit"/> 
    <!--<input type='submit' name='submit' value='' id="submit" />--> 
    <input type="hidden" name="submit" value="Submit"/> 

</form> 

PHP

<?php 

if(empty($_POST['submit'])) 
{ 
    echo "Form is not submitted!"; 
    exit; 
} 
if(empty($_POST["fullname"]) || 
    empty($_POST["email"])) 
    { 
     echo "Please fill the form"; 
     exit; 
    } 

$name = $_POST["fullname"]; 
$email = $_POST["email"]; 
$mobile = $_POST["mobile"]; 
$checkindate = $_POST["checkIndate"]; 
$comment = $_POST["comment"]; 

mail('[email protected]' , 'New form submission' , "New form submission: Name: $name, Email:$email, Mobile: $mobile, CheckIndate:$checkIndate, Comment:$comment" ); 

header('Location: thank-you.html'); 


?> 

これらは私が試したものです:

<script type="text/javascript"> 
     /*$('#contactform').trigger("reset");*/ 
     function clear_form() { 
     /* document.contactform.reset(); 

       document.getElementById("contactform").reset();*/ 
    /*$(window).load(function() { 
     $('#contactform input[type="text"]').val('');*/ 


     $(window).load(function() { 
       $('#contactform').children('input').val(''); 
       } 

     }); 
       } 
    </script> 

答えて

0

はこの1つを試してみてください。

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $('input').val(''); 
    }); 
</script> 

最後に、onsubmitアクションを呼び出す必要はありません。document.readyで十分です。

+0

フォームデータをクリアすると、テキストエリアが追加され、それも機能しました。しかし、フォームは提出されていません.. !!!!しかし、ありがとう。 – RKD

+0

あなたの問題は解決しましたか?あなたはhtmlからこのアクションを削除しましたか? onsubmit = "setTimeout( 'clear_form()'、200); trueを返します。 すべてのコードを自分のロケールストレージにコピーしても問題ありません。 –

+0

また、私の変更は送信するフォームに影響しませんので、問題の解決に役立つ情報を教えてください。 –

0

この奇妙な問題を解決するためにタイムアウトして私と他の人を助けてくれてありがとう。

解決策が見つかりました。私はすべてをそのまま保ちました。さらに、

a。フォームをリセットする関数を作成しました。 b。 body要素のonloadおよびonunloadハンドラにその関数を追加しました。以下のように

<script> 
    function clearForms() 
    { 
     var i; 
     for (i = 0; (i < document.forms.length); i++) { 
     document.forms[i].reset(); 
     } 
    } 
</script> 

<body onload="clearForms()" onunload="clearForms()"> 

は、それが助け、貴重な時間と日を無駄にするから私のような多くのを停止願っています。よろしく。

関連する問題