0

私は2つのページを持っています:

  1. 製品ページには製品があり、すべての製品には「メッセージを送信」リンクがあります。

  2. 連絡先ページ。名前、メール、件名、メッセージの 4 つの要素を持つフォームがあります。

products.html ページの「メッセージを送信」リンクをクリックすると、contact.html のフォームの「Subject」要素の値を製品のタイトルにしたいと考えています。

そのため、「BMW 530xd 2009」というタイトルの製品を持っている場合、その下の「メッセージを送信」リンクをクリックすると、contact.html ページとフォームの「件名」フィールドに送信されます。 「BMW 530xd 2009」でオートコンプリートされます。

javasciptでそれを行うにはどうすればよいですか?

ありがとうございました

4

3 に答える 3

0

誰かが上記のリンクをクリックしたときにajaxを使用してproducts.htmlページ内にcontact.htmlフォームを読み込むことができます。私が知る限り、フォームの値を変更することはできないため、すべてを正しく処理すれば値を変更できます。クライアント側の言語を使用して、あるページから別のページに移動します。

もう1つのオプションは、display:noneのcssプロパティを使用してcontact.html内にフォームを直接書き込むことです。したがって、誰かがリンクをクリックすると、display:blockに変わります。値の変更はJavaScriptで処理されます。

お役に立てれば。

于 2012-06-17T11:15:59.440 に答える
0

「メッセージを送信」のリンクを次のように作成します: contact.html?subject=your_value_here

contact.html では、次のように値を取得できます

if(location.search) {
   subject = location.search;
}

そして、件名に入力します(初めて見逃しました)

document.getElementById("id_of_subject_field").innerHTML = subject;

これはエレガントなソリューションではありませんが、うまくいくはずです。

于 2012-06-17T11:25:44.173 に答える
0

最善の方法は、フィールドに値を設定しておくことです。サーバー側で使用しているテクノロジーがわかりません...

とにかく、JavaScriptを使用して質問に答えるには、フォームのハンドラーonsubmitを使用して仕事をすることができます

<form onsubmit="return fillProd(this)" ...
<input name="subject" ....

サーバー側で値を提供することが時々ありますが、DOM関数またはjquery(または同様のもの)を使用して、ドキュメントDOMからクライアント側で値を取得できます

次のような商品タイトルがあるとします。

<div class="prod-title" id="prodtitle">BMW 530xd 2009</div>

次に、jquery を使用して値を取得できます

$("#prodtitle").html

またはDOMを使用する

document.getElementById("prodtitle").innerHTML

DOMを利用した機能例

function fillProd(form) {
   form.subject.value=document.getElementById("prodtitle").innerHTML;
   return true;
}

注: フォーム ハンドラーと関数 (true を返す) での戻り値は非常に重要です。

于 2012-06-17T11:10:59.360 に答える