0

私は小さなブックマークサイトのChrome拡張機能に取り組んでいます。拡張ポップアップは、ブラウザの現在のURL、タイトル、選択したテキストをフォームに入力します。問題は、ウェブサーバーへのjavascripts xmlhttp呼び出しで、select-optionを使用してフォーム内にdivをロードしたことです。

フォームを送信すると、select-optionから選択したオプションがフォームの残りの部分と一緒に送信されません。

フォーム:

<form action="removed" method="post" enctype="multipart/form-data" name="popup_form">
        <span class="input_header">Titel</span>
        <input class="calendar_add_form_Date" type="text" name="title">

        <span class="input_header">URL</span>
        <input class="calendar_add_form_Date" type="text" name="url">

                <span class="input_header">NOTE</span>
      <textarea id="note" name="note" style="height: 60px;"></textarea>

      <span class="input_header">Tags</span>
      <input class="calendar_add_form_Date" type="text" id="tags" name="tags">
      <div id="url"></div>


</div>
</div>

<div id="popup_footer"><input class="btn btn_blue" style="" value="&nbsp;Add&nbsp;" type="submit"/>

<div id="sets">
</div>

後で読む

javascriptの呼び出し:

function loadSets()
{
var xmlhttp;
  xmlhttp = new XMLHttpRequest();
  xmlhttp.onreadystatechange=function()
  {
    if(xmlhttp.readyState==4 && xmlhttp.status==200)
    {
      document.getElementById("sets").innerHTML=xmlhttp.responseText;
    }
  }
  xmlhttp.open("POST","link[1]",true);
  xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
  xmlhttp.send();
}

link[1]は以下を出力します。

<select name="sets">
<option value="1">One</option>
<option value="2">Two</option>
</select>
4

1 に答える 1

0

あなたの HTMLには</div>よりも多くの が表示されます。<div>生成している HTML が無効であり、<form>要素が意図したよりも早く暗黙的に閉じられていると思われます。したがって、注入している要素はフォームにありません。

結果の DOM ツリーを Chrome の「Inspect Element」などで表示すると、有益な場合があります。

于 2012-05-23T20:09:16.587 に答える