0

我正在为一个小型书签网站开发 chrome 扩展。扩展弹出窗口使用浏览器当前 url、标题、选定文本填充表单。问题是,我通过对网络服务器的 javascripts xmlhttp 调用在表单中加载了一个带有选择选项的 div。

当我发送表单时,选择选项中的选定选项不会与表单的其余部分一起发送。

表格:

<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();
}

链接 [1] 输出以下内容:

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

1 回答 1

0

我在您的 HTML 中看到</div>的 s 多于s 。<div>我怀疑您生成的 HTML 无效,并且该<form>元素被隐式关闭的时间比您希望的要早 - 因此,您注入的元素不在表单中。

在 Chrome 的“检查元素”之类的东西中查看生成的 DOM 树可能是有益的。

于 2012-05-23T20:09:16.587 回答