2012-04-19 12 views
0

まあまあ、私には新しいJavaScriptですが、このような問題は起こりそうにありませんでした。どちらかといえば間違っているか、代わりにクッキーを使うべきです。POSTは2回目まで動作していません

JavaScriptを使用してPOSTデータをリンク経由でPHPページに送信しようとしています。私は以前にこのようなデータを渡す方法について質問しましたが、AJAXのほかに基本的には隠されたフォームを作成し、javascriptで送信していました。今はAJAXやJqueryについては何も知らないので、フォームメソッドに固執しています。

しかし、何らかの理由でコードが自分のデータを送信していませんでした。私が誤って2回連続してクリックしてからデータが表示されるまでの理由を理解できませんでした。

シナリオは、リンク先のページに移動し、データが処理され、var_dumpを介して表示されます。

ここに必要なコードがあります。

function red() 
{ 
    alert('This is happening'); 
    document.traf.traf2.value = 3; 
    document.traf.submit(); 
} 

echo "<form name='traf' method='post' action='newphpwriterthing.php'><input type='hidden' name='traf2' /></form>"; //FORM SET 
echo "<a href='newphpwriterthing.php' onClick='red()'> <img src='red.png' height='150' /></a>"; 

機能は罰金と呼ばれているようだが、私は偶然に二回、それを打つまで、私は...値と提出は何もしていなかったという印象の下にあったとそれはまさにそれがすべきことでした。

また、1回クリックしてページにアクセスし、複数回リフレッシュして、値が「まだ存在しない」かどうかを確認しました。何もない。

ここでは何が起こっていて、どうやって解決するのですか?私はクッキーを使うほうがいいですか?

答えて

2

リンク先がhrefになっているだけで、そのURLにアクセスできます。

redの最後にreturn false;を追加します。

またはおそらくあなたはonClick='red()'onClick='red() return false;'にチャージする必要があります - しばらくその方法を使用しませんでした。

+0

私はこれをただ実現しました。リンクのURLを取り除き、#にしました。仕事をしているようだ。それだけでなく、falseを返して動作しますか? – user1159454

+0

はい、それも動作します。 – kirilloid

+0

ありがとうございました! – user1159454

関連する問題