2011-06-24 25 views
0

私はフォームを持っていて、そのフォームの2つの値はJavaScriptによって値を取得しています。それらのファイルの価値はデータベースに終わるはずです。テキストフィールドの
値は、一般的なユーザーのために適応すべきではないので、私はこの種のコードを使用:十分
<input type="text" name="total" id="total" disabled="disabled" value="0"> EURjavascriptの値がPHPで選択されていません

奇妙な、データベース内の値が今0です。
disabled="disabledを削除すると、データベースに終わる値が正しくなります。

どのようにして、顧客が入力フィールドの内容を変更してもデータベース内のライト値を引き続き取得できないようにするにはどうすればよいですか?

+0

あなたの質問を再フォーマットしてください、私はあなたが何を求めているのか分かりません。 – FinalForm

+0

あなたは明示的にvalue = "0"と言っています - なぜあなたのデータベースの値が0であるのが奇妙ですか? – keymone

+0

デフォルト値は0です。ポイントは、javascriptファイルの値で値を置き換えることです。 – Michiel

答えて

3
<input type="text" name="total" id="total" readonly="readonly" value="0"> EUR 

代わりにreadonly属性を使用してください。

無効にすると、フィールドが無効になり、情報はフォームを介してサーバーサイドスクリプトに送信されません。したがって、その変数を読み取るときにサーバー側のスクリプトはnullになります。

2番目の質問では、このようなクライアント側の検証に頼るべきではありません(javascript)。これを行うのもいいですが、サーバー側で行うべきです。この理由は、クライアントマシンで何が発生するかを100%(ユーザーはパケットレベルで変更し、実装したクライアント側の検証を回避できる)を制御できないためです。

+0

ありがとう!解決済み! – Michiel

1

無効な値は、フォームの送信時に渡されません。あなたが使いたいのはreadonly="readonly"

+0

ありがとう、これは私を助けてくれました! – Michiel

0

です。入力フィールドに「disabled」フラグを設定すると、そのフィールドがWebサーバーに送信されなくなります。PHPに関する限り、存在しません。代わりにreadonly="readonly"を使用してください。

0

タグを無効にすると、textbox.Soユーザーは新しい値を入力することができず、値は "o"になります。 削除すると、実際のvauleが置き換えられます。

関連する問題