2011-04-21 8 views
0

私はPHPで新しく、私はJavascriptで連絡フォームを作った。しかし、Submitボタンをクリックすると、ページ全体がリフレッシュされます。助けてください私はしたくないときにページをリロードする

+4

問題のあるコードをすぐに表示できますか?困っていますか? –

+0

それは標準です。 AJAXを使用します。 – alex

+2

このブログ記事をお読みください。それは良い質問をする方法を教えてくれます。あなたが私たちに詳細を知らせない限り、私たちはあなたを助けることができません:http://msmvps.com/blogs/jon_skeet/archive/2010/08/29/writing-the-perfect-question.aspx – JohnP

答えて

2

送信ボタンをクリックすると、ブラウザから予想される動作はフォームを送信することです。このデフォルトアクションが起きないようにするには、event.preventDefault()を読んだり、イベントハンドラからfalseを返してください。

私はあなたに例を示します。 HTML

<form id="my-form" action=""> 
    ... 
    <input type="submit" value="Submit me please" /> 
</form> 

Javascriptを

var myform=document.getElementById('my-form'); //getting our form 
myform.onsubmit=function (e) { //attaching a handler to the submit event 
    if (e && e.preventDefault) { //modern way of preventing default action 
     e.preventDefault(); 
    } 
    else if (window.event && window.event.returnValue) { //ancient IE crap 
     window.event.returnValue = false; 
    } 
}; 

次回は、より具体的にお願いいたします。

+0

このようにイベントハンドラをバインドすると、単に 'falseを返すことができます。さらに、フォームには常にデフォルトの 'action'を与えます。そのため、JavaScriptが無効/利用できない場合でもユーザーは内容を送信できます。 –

+0

@Marcel Korpelあなたの最初の声明は正しいですが、私はこれを私の答えで述べました。私はあなたの2番目のステートメントを理解していない、私のフォームは、デフォルトのアクションがあります。 – kapa

+0

はい、私はあなたの答えでそれを言及しますが、一貫性は私の友人です。 ;-)デフォルトのアクションでは、 'action'属性にURLを入力する必要があるので、JavaScriptが有効になっていなくてもフォームを送信できます。 –

0

送信する必要があるため、サーバーにデータを送信/ポストする必要があるため、ajaxを使用し、送信ボタンを使用しないで送信ボタンをクリックした後にページを更新する必要はありません。

関連する問題