1

我正在开发一个带有phonegap的android应用程序。我正在尝试在其中一个页面中使用 HTML 表单,并且有人告诉我应该使用 HTML DOM。我已经制作了脚本,但我收到一条错误消息:Unexpected token。

这是 HTML 中的示例代码:

<form name="editNoteForm" id="formaltera" method="post" action="index.html">
  <div data-role="fieldcontain">
    <label for="primeiroNome">Primeiro Nome</label>
    <input type="text" name="primeiroNome" id="primeiroNome">
  </div>

  <div data-role="fieldcontain">
    <label for="ultimoNome">Ultimo Nome</label>
    <input type="text" name="ultimoNome" id="ultimoNome">
  </div>

  <div data-role="fieldcontain">
    <label for="numeroTelefone">Telefone</label>
    <input type="number" name="numeroTelefone" id="numeroTelefone">
  </div>

  <div data-role="fieldcontain">
    <input type="submit" id="submit" value="Guardar">
  </div>
</form>

这是我制作的脚本,所以我可以得到类似上面的 HTML 代码。

<form name="formaltera" id="formaltera" method="post" action="index.html"></form>
    <script charset="utf-8" language="javascript">
    var temp1 = localStorage.getItem("selected");
    var temp = localStorage.getItem(temp1);

    temp = temp.split(";");
    var firstName = temp[0];
    var lastName = temp[1];
    var phoneNumber = temp[2];
    var form = document.getElementById('formaltera');
    var formBody = form.childNodes[0];
    var div = document.createElement('div');
    var inputTextA = document.createElement('input');
    var inputTextB = document.createElement('input');
    var inputTextC = document.createElement('input');
    var inputSubmit = document.createElement('input');
    var labelA = document.createElement('label');
    var labelB = document.createElement('label');
    var labelC = document.createElement('label');
    var labelTextA = document.createTextNode('Primeiro Nome');
    var labelTextB = document.createTextNode('Ultimo Nome');
    var labelTextC = document.createTextNode('Telefone');

    div.data-role = "fieldcontain";

    labelA.for = "primeiroNome"; //I'm getting an error in here
    labelB.for = "ultimoNome";
    labelC.for = "numeroTelefone";

    inputTextA.type = "text";
    inputTextA.name = "primeiroNome";
    inputTextA.id = "primeiroNome";
    inputTextA.value = firstName;

    inputTextB.type = "text";
    inputTextB.name = "ultimoNome";
    inputTextB.id = "ultimoNome";
    inputTextB.value = lastName;

    inputTextC.type = "number";
    inputTextC.name = "numeroTelefone";
    inputTextC.id = "numeroTelefone";
    inputTextC.value = phoneNumber;

    inputSubmit.type = "submit";
    inputSubmit.name = "submit";
    inputSubmit.id = "submit";
    inputSubmit.value = "Guardar";

    form.appendChild(div);
    div.appendChild(labelA);
    labelA.appendChild(labelTextA);
    div.appendChild(inputTextA);

    form.appendChild(div);
    div.appendChild(labelB);
    labelA.appendChild(labelTextB);
    div.appendChild(inputTextB);

    form.appendChild(div);
    div.appendChild(labelC);
    labelA.appendChild(labelTextC);
    div.appendChild(inputTextC);

    form.appendChild(div);
    div.appendChild(inputSubmit));


    </script>

HTML 代码可能与我编写的脚本有点不同,因为我编写它只是为了向您说明。提前致谢。希望我能很好地解释自己。

4

1 回答 1

2

for属性应通过htmlFor属性分配

labelA.htmlFor = ...

请参阅https://developer.mozilla.org/en-US/docs/DOM/HTMLLabelElement以获取更多参考

于 2012-09-20T09:27:11.830 回答