2012-09-20 39 views
1

我正在開發一個帶有phonegap的android應用程序。我試圖在其中一個頁面中使用HTML表單,並且我被告知應該使用HTML DOM。我已經創建了該腳本,但是我收到了一個錯誤消息:意外的令牌。在HTML表單的HTML DOM腳本中獲取錯誤「意外的標記」

這裏的示例代碼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代碼可能與我製作的腳本有點不同,因爲我寫的只是爲了闡明你。提前致謝。希望我能很好地解釋我自己。

回答

2

for屬性應該通過htmlFor財產分配

labelA.htmlFor = ... 

進一步參考

+0

謝謝見https://developer.mozilla.org/en-US/docs/DOM/HTMLLabelElement。我認爲它糾正了錯誤,但現在在'div.data-role =「fieldcontain」;'說出「Uncaught ReferenceError:賦值中無效的左側...」時報錯。你可以幫我嗎?謝謝 –

+0

使用'div [「data-role」] =「fieldcontain」;' – fcalderan

+0

div應該顯示一個灰色的線來劃分輸入。它不再給我任何錯誤,但行不顯示。順便說一句,謝謝你的答案。對此有何想法?謝謝 –

相關問題