2012-09-20 3 views
1

phonegap으로 Android 앱을 개발 중입니다. 페이지 중 하나에서 HTML 양식을 사용하려고하는데 HTML DOM을 사용해야한다고 들었습니다. 나는 스크립트를 만들었지 만 다음과 같은 오류가 발생했습니다 : 예기치 않은 토큰.HTML 형식의 HTML DOM 스크립트에서 "예기치 않은 토큰"오류 발생

<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 코드 같은 것을 얻을 수 있습니다 만든 스크립트입니다 :

다음은 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 속성은

labelA.htmlFor = ... 

+0

감사합니다 추가 참조 https://developer.mozilla.org/en-US/docs/DOM/HTMLLabelElement를 참조 htmlFor 속성을 통해 할당해야합니다. 나는 그것이 오류를 수정했다고 생각하지만, 이제는 "uncaught ReferenceError : 할당의 왼쪽이 유효하지 않습니다 ..."라는 말을 'gotiv.data-role = "fieldcontain"; 나 좀 도와 줄 수있어? 감사합니다 –

+0

'div [ "data-role"] = "fieldcontain"; ' – fcalderan

+0

div는 입력을 나누는 회색 선을 보여야합니다. 더 이상 오류가 없지만 선이 보이지 않습니다. 그건 그렇고, 대답 주셔서 감사합니다. 이것에 대한 어떤 생각? 감사합니다. –