質問

現在、いくつかのJavaScript機能を列挙してから、jQuery .ajax()を使用してMVCコントローラーアクションに投稿するフォームがあります。このフォームを投稿するための従来の(javaScriptなし)サポートを追加したい場合、自分のオプションについて質問がありません。

1)問題は、私がフィールドにないデータを持っているが、それはDivの単なるテキストであるということです。私は現在Ajaxで投稿しているので、投稿する前にIDでこれらのDIVのコンテンツを取得し、それらを投稿に含めることができます。この情報は従来の投稿から欠落していると思います。

1つのアイデアは、を作成することです <input> これらのdivについてもページに非表示にします。そして、ポスト内のそれらを使用します。

2)Ajax Postのみを使用することにした場合、フォームを完全に取り除くことはできますか?

3)Ajaxの投稿にとどまることを考えると、値の投稿にどのような形式を使用することをお勧めしますか? JSON、COMMA Delimited(複雑なデータに問題がある)、他の何か?

4)通常、両方の方法をサポートしていますか?私が今私のフォームを見ると、彼らは大量のjQueryとjQuery UIの機能を使用し、これらはJavaScriptなしで実装する過剰なものになるからです。ユーザーがJSを有効にしない可能性があり、「JSが必要」と言っても大丈夫ですか?

この具体的なケースでは、私は(少なくともまだ)Web指向ではない内部のオンデマンドアプリケーションを構築しているので、JSが必要であると言うオプションがあります。

ty

役に立ちましたか?

解決

JavaScriptなしで実行可能なサイトを維持するルートにアクセスしたい場合は、サイトを作成しないサイトを作成することから始めて、JavaScriptを使用してJavaScriptを有効にして本当に必要なものにそのインターフェイスを変更することをお勧めします。これには、に含まれるすべての入力から始まることが必要です input 要素を使用して、JavaScriptを使用してそれらの要素を置き換えます div 要素 - または、より現実的には、削除します inputs 既存のことを示しています div 要素。

Ajaxを使用している場合でもフォームを取り除く必要はないと思いますが、技術的にはそれを持っている理由はありません。ただし、私がやりたいことの1つは、フォームを保持し、送信方法にアクションを引き出すことです。 form JavaScriptで直接エンコードする必要がないようにタグを付けます。これにより、さまざまなフォーム間でJavaScriptを簡単に共有できるようになる場合があります。

フォームが通常と同じように、私は常にパラメーターを要求するようにシリアル化します。これを行う最も簡単な方法はjqueryのことです serialize 方法ですが、それは入力でのみ機能します。また、ハッシュ(オブジェクトにキー値ペア)を構築し、AJAXのデータパラメーターとして提供することもできます。パラメーターを要求するために自動的にシリアル化されます。他のものを使用するには、MVCのモデルバインディングコードではなく、独自のコードを使用して脱必要になる必要があります。

PublicFacing Webアプリの場合、JavaScript対応と障害のあるブラウザーの両方でインターフェイスを機能させ続けます。ただし、非JavaScriptブラウザは、特定の機能にアクセスできない場合があります。内部アプリの場合、あなた(またはあなたの会社の誰か)がそれをよりコントロールしているので、私はJavaScriptを必要とすることに満足しています。

他のヒント

Thomasのアドバイスをありがとう、カーソルの下のマウス座標を表示するためのコード:

ToolTip tt = new ToolTip();
tt.SetToolTip(pic, " ");
tt.ShowAlways = true;

 private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
 {
    tt.ToolTipTitle = e.X + "  " + e.Y; 
 }
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top