-2

次のコードを使用して、フォームから別のフォームにデータを受信しようとしました。

var fname = document.getElementsByName("fname")[0];
fname.value = getUrlVars()["fname"];

ここで、フォームから既に作成されているテーブルにデータを受け取りたいと考えています。動作しないコードを使用し $("table").html("<tr><td>"+fname +"</td><td>");ました。

4

4 に答える 4

1

この声明では、

var fname = document.getElementsByName("fname");
fname.innerHTML = "fname";

「 fname 」という名前の要素は何ですか?

テキストボックスのようなフォーム要素の場合、次のようになります。

var fname = document.getElementsByName("fname");
fname.value = "fname";

コードは、要素がpdivなどのタグのようなフォーム要素でない場合にのみ機能します。

編集されたコード:

2 番目のページが student.html で、このページに receiveData() が記述されていることを願っています。次に、URL を読み取り、パラメーター値を要素に設定する必要があります。以下に書いているように、フォーム 2 にフォーム 1 と同じ名前を書いた場合、

var fname = document.getElementsByName("fname")[0];
fname.value = getUrlVars()["fname"];

2 番目に、テキスト ボックスに対してこれを行うことができますが、ラジオとドロップダウンに対しては、if-else ステートメントを記述する必要があります。

これを参照してくださいhttp://papermashup.com/read-url-get-variables-withjavascript/

私が言いたいことをあなたが理解していることを願っています。

再編集されたコード:

この関数を receiveData() 関数に追加します。

function getUrlVars() {
 var vars = {};
 var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi,
  function(m,key,value) {
 vars[key] = value;
 });
 return vars;
}

ラジオボタンのコード、

var sex = document.getElementsByName("sex");
sexValue = getUrlVars()["sex"];
for(i=0;i<sex.length;i++)
{
 if(sex[i].value==sexValue)
 {
  sex[i].checked=true;
  break;
 }
}
于 2013-07-04T15:05:45.467 に答える
0

自分の想像ではなくドキュメントを使用してください。

var newEl = document.getElementById("newElDay");
newEl.innerHTML = document.getElementById("oldElDay").innerHTML;
于 2013-07-04T14:16:34.017 に答える
0

人々が言及した他の問題とは別に、おそらく Receivedata() 内の Javascript コードの最後の行としてこれを見逃しているでしょう:

document.getElementById('myform').submit();
于 2013-07-04T15:17:23.353 に答える