2017-01-24 9 views
0

後のクリアフォームフィールドは、しかし、それが唯一のようです。 .click()や.submit()を使用したくありません。 $("#signuBbtn").click()は、入力フィールドをクリアするために常にフォームフィールドをクリアするためです。PHPやjQueryの - jQueryと私はどのように理解することはできません経由でそれが可能であるように、私は成功したフォーム送信後にフォームフィールドを空にしようとした成功提出

は、私は、フォームが正常に送信され、ポストされたデータは、MySQLに挿入されただけでフォームフィールドをクリアしたいです。

私はPHP経由でフォームフィールドをクリアできない場合は、フォームフィールドをクリアするJQuery関数を呼び出すにはどうすればいいですか?

register.php

<?php 
    if(!$formValidationError) { 
     //code for clearing the input field PHP code 
     //OR 
     //calls JQuery form clearing function which is clearInput() 
    } 
?> 

script.js

function clearInput() { 
     $("#email, #username, #password").each(function() { 
      $(this).val(''); 
     }); 
    } 

の詳細情報を追加するには、私はページをリダイレクトまたはリフレッシュする必要はありません。また、register.phpに、私はちょうどscript.jsで外部JSファイルからclearInput()を呼び出す方法を知りたいです。または、入力フィールドをクリアするためにphpメソッドを使う方法を知りたいだけです。

+0

なぜ通常のフォーム要求を行うとPHPが戻っページにリダイレクトしていませんか?それ以外の場合は、今すぐ 'clearInput()'を呼び出す方法についてもっとコードが必要です –

+0

'$( '#form_id')trigger(" reset ");' – guradio

+0

jquery reset関数を使用してください $( '#formId') .reset() –

答えて

0

あなたの状況に合わせた簡単な修正。 PHPからJS関数を呼び出す

<?php 
    if(!$formValidationError) { 
     echo '<script type="text/javascript">', 
      '$(function(){ clearInput(); })', 
     '</script>'; 
    } 
?> 

または

<?php 
    if(!$formValidationError) { 
?> 

    <script type="text/javascript"> 
     $(function(){ clearInput(); }) 
    </script> 

<?php } ?> 

は、jQueryのlibrairyスクリプトタグの後のjsスクリプトをエコー。

0

あなたは、単にフォーム要素にreset()機能を使用することができます。

<form id="form"> 
    ......... 
    ........ 
</form> 

jQueryのコードは:あなたが正常に値を挿入したとき

$("#form")[0].reset() 
// or 
$("#form").get(0).reset() 
+0

ありがとうございますが、 'reset()'関数を使いたいです**登録フォームがSUCCESSFULLYを提出した場合のみ** **。あなたのコードは、それが正常に提出されたかどうかにかかわらずフォームフィールド全体をリセットするだけです –

+0

まあ、検証機能はありますか?関数がtrueを返す場合にのみ、このコードに言及する必要があります。 –

+0

あなたはフォーム検証を意味しますか?私は 'register.php'でフォームの検証のために' if statements'を複数セット持っています。しかし、私はちょうどどのようにフォームフィールドをクリアし、PHPの –

0

$(':input','#myform') 
.not(':button, :submit, :reset, :hidden') 
.val('') 
.removeAttr('checked') 
.removeAttr('selected'); 
+0

に感謝と提出後にはわからないが、私はフォームをクリアする方法を尋ねていませんでした。私はフォームのクリア方法**を尋ねていました**フォーム提出が成功した後のみ**。 –

+0

これをボタンクリックイベント –

+0

に書いておきます。私は私の質問で言及したように、フォームデータが毎回クリアされるため(フォームデータがMySQLに挿入されていない、フォーム検証)。 –

0

実際にあなたがPHPでフォームフィールドをクリアすることができ、入力フィールドのすべての種類をクリアするために、これを試してみてください$_POST = array();とデータベースこれは、フォームデータが消去されます

は、Alを取ります例:

<?php 


// your validation here 

try { 
    $stmt = $dbh->prepare("INSERT INTO users (firstName,lastName,title,email,userPassword,categoryID,provinceID,cityID,planID) VALUES(?,?,?,?,?,?,?,?,?)"); 
    if ($stmt->execute(array(
     $firstname, 
     $lastname, 
     $title, 
     $email, 
     $hash, 
     $category, 
     $province, 
     $city, 
     $plan 
    ))) { 


     echo "Form submitted"; 

     $_POST = array(); //clear input fields 
    } else { 

     echo "form not submitted"; 
    } 
} 
catch (PDOException $e) { 


    error_log($e->getMessage()); 
} 


?> 
+0

PDOなしでこれを行うにはどうすればよいですか?私はMysqliを使用しています –

+0

mysqliを使用していても成功メッセージを出力するときに必要なのは '$ _POST = array();'だけです。データベースに正常に挿入したら、その行を追加します。 –

関連する問題