2017-10-22 6 views
1

フォームを検証するためにHTMLフォームとスクリプトを作成しました。問題は、フォームを提出するたびに、「あなたのファイルが見つかりませんでした」というページにリダイレクトされることです。別のページにリダイレクトせずにHTMLとjQueryを使用してフォーム検証を行う方法は?

スクリプトを呼び出す特定の方法はありますか?それとも私をリダイレクトせずに動かすことができますか?

<form id="bioform" action="/action_page.php"> 
    <label>Biography</label><br> 
    <textarea placeholder="Enter bio here" name="bio" rows="10" cols="50"></textarea><br><br> 
    <label>Update Biography Picture</label><br><br> 
    <input type="file" name="bioimage"><br><br> 
    <button type="submit" onclick="function()">Update</button><br> 
</form> 

<script> 
    $(document).ready(function() { 
    $('#bioform').validate({ 
     rules: { 
      bio { 
      required: true, 
      minlength: 5, 
      }, 
     } 
     messages: { 
      bio { 
      required: 'Please enter a biography.', 
      minlength: 'Please enter a valid biography.', 
      }, 
     } 
     }); 
    }); 
</script> 

答えて

0

タグ

<form id="bioform" action="/action_page.php" enctype="multipart/form-data"> 
    <label>Biography</label><br> 
    <textarea placeholder="Enter bio here" name="bio" rows="10" cols="50"> 
    </textarea><br><br> 
    <label>Update Biography Picture</label><br><br> 
    <input type="file" name="bioimage"><br><br> 
    <button type="submit" onclick="function()">Update</button><br> 
    </form> 
+0

違いはありませんように見えること。私は私のディレクトリにaction_page.phpというファイルを作成する必要がありますか?私はそれが自動的に作成されると仮定していました。 –

+0

あなたのディレクトリにaction_page.phpファイルを作成していませんか?あなたは投稿された値をどこで取得しましたか? –

+0

ディレクトリにファイルを作成したくない場合は、 –

0

を形成するためのenctype = "multipart/form-data" を追加します。それが必要に送信する場所を指定するときはスラッシュですか?例えば:

<form id="bioform" action="/action_page.php"> 

を置き換えてください:

<form id="bioform" action="action_page.php"> 
+0

スラッシュを削除しても変更されません。私はまだリダイレクトされます。私は私のディレクトリにaction_page.phpというファイルを作成する必要がありますか?私はそれが自動的に作成されると仮定していました。 –

+0

はい、自動的に行われないのと同じディレクトリにファイルを作成する必要があります。 –

+0

また、PHPファイルはデータを扱い、保管することは想定されていません。 –

0

あなたはjQueryのを使用しているので、これを使用してみてください:

e.preventDefault()

e.preventDefault()方法はデフォルトを停止します 要素の動作が発生しています。例: の送信ボタンがフォームを送信しないようにします。リンクがURLに従わないようにする。

はまた、あなたは、ファイルのアップロードを扱っているので、値POST<form>タグ内method属性を追加してもenctype="multipart/form-data"する必要があります。

このフィドルに移動し、それはあなたのために働くかどうかを確認:https://jsfiddle.net/z0db4vq0/1/

関連する問題