2017-03-28 11 views
1

を動作しません、私は自分のコードに問題を見ることはできません提出するが、私はsubmitボタンを押すたび、何も起こりません:フォームボタンが

<form id = "form_signin_containers" action = "" method = "post"> 
    <input type = "text" name = "si_idnumber" placeholder = "ID Number" required/> 
    <input type = "password" name = "si_password" placeholder = "Password" required/> 
    <input type = "submit" name = "si_submit" value = " sign in "> 
</form> 

私は私のhtmlコード上のPHPコードにISSETボタンを追加してみましたそれをテストする:

if(isset($_POST['si_submit'])) { 
    header("Location:home.php"); 
} 

私が[送信]ボタンを押しても、それは動作しません。私はまた、私は<...required/>をすべてのテキストボックスに置くので、私は気付いた、私はテキストボックスが空の場合は、送信ボタンをクリックする必要があります、それは私に通知するだろうか?しかし、テキストボックスを空白のままにして、送信ボタンを押しても、何もしません。テキストボックスが空であると私には言いません。あたかもボタンが死んでいるかのように。

UPDATE
私はアンカーボタンをクリックしたときにスムーズにページスクロールを行います</body>前に右に置いているこのjavascriptを持っています。私のアンカーボタンの
サンプル:

<form id = "form_createaccount_button" action="#createchooserblink"> 
    <input type="submit" value=" create account " /> 
</form> 

JS:

<script> 
    $(function() { 
    $('input').click(function(e) { 
    e.preventDefault(); 
    var hash = $(this).parent('form').attr('action'); 
    var target = $(hash); 
    target = target.length ? target : $('[name=' + hash.slice(1) +']'); 
    if (target.length) { 
     $('html, body').animate({ 
     scrollTop: target.offset().top 
     }, 1000); 
    } 

}); 
}); 
</script> 

これは、ログインフォームに影響を与えていませんか?

+0

どちらかお使いのブラウザが古い、またはこれらのものがどのように動作するか中断するいくつかのjavascriptがあります。 'required'が動作しています – JapanGuy

+0

@JapanGuyええ、私は使用したjsに関するアップデートを投稿しました。これが問題なのでしょうか? – Dranreb

+0

'if(isset($ _ POST ['si_submit'])){'を同じファイルに使用していますか? – devpro

答えて

5

を:

$('input').click(function(e) { 
    e.preventDefault(); 
    // ... 

は、送信ボタンをクリックすると、そのクリックハンドラをトリガして、デフォルトのアクションを防止することがフォームの送信を防ぐことができます。

あなたは、具体的:not([name=si_submit])を追加することによって、その外のname="si_submit"ボタンを残すことができる:

$('input:not([name=si_submit])').click(function(e) { 
    e.preventDefault(); 
    // ... 

...しかし、私の代わりにそれを行うのは、私はおそらく「アンカーボタンにクラスか何かを使用したいと思います"(または"アンカーボタン "はまったく使用しないでください)、代わりにそのクラスを追加してください。例えば:

<form id = "form_createaccount_button" action="#createchooserblink"> 
    <input type="submit" class="anchor-button" value=" create account " /> 
</form> 

と:

$('input.anchor-button').click(function(e) { 
    e.preventDefault(); 
    // ... 
+0

第二のものは素晴らしいです... :) – devpro

+0

ええありがとう!私もちょっと気付いた。私は全体のJavaScriptを削除しようとし、フォームが動作します。フォームを機能させ、滑らかなスクロールをトリガーするJSの代替方法または変更がありますか? – Dranreb

+0

'form.submit()' @Dranreb –

-2

このお試しください:はい、あなたのJavaScriptがフォームの送信を防止している

<form id="form_signin_containers" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post"> 
<input type="text" name="si_idnumber" placeholder="ID Number" required> 
<input type="password" name="si_password" placeholder="Password" required> 
<input type="submit" value="sign in"> 
</form> 
関連する問題