2012-11-21 3 views
5

i이 양식에서 HTML 양식을 만들었습니다. 미리 정의 된 기준에 따라 입력 텍스트 필드를 만드는 버튼을 클릭하면 정상적으로 작동합니다. 지금 시도하고 내가 만들 수없는 경고를 사용하여 만든 텍스트 필드에 입력 된 값을 검색 할 때.동적으로 생성 된 요소의 값 검색

나는이 두 가지 질문

  1. 동적으로 생성 된 텍스트 필드에서 입력을 검색하는 가장 좋은 방법은 무엇입니까? 내가 작성한 코드가 작동하지 않는 이유
  2. 당신은 말해 줄 수

HTML 코드가

<BODY> 
<FORM> 
    <BR/> 
    <div align = "center"> 
     <br /><br /> 
     <INPUT type="button" value="Click To Enter Values" onclick="getkeywords()"/> 
    </div> 
    <div align="center" id="d_div"> 
     <form name="permavalues" id="d_form"> 
     </form> 
     <br/> <br/> 
    </div> 
</FORM> 

내가 사용하고있는 자바 스크립트 코드는 이것이다 :

function getkeywords() { 
    var index_array = new Array(); 
    var myString = "one and a two and a three = $ and four = $ and five = $"; 
    var splitresult = myString.split(" "); 

    for(i = 0; i < splitresult.length; i++) 
    { 
     if (splitresult[i] == "$" && i > 1) //retireving the keywords.. 
     { 
      add(splitresult[i-2]); 
     } 
    } 
} 

getkeywords에서 호출되는 add 함수 :

function add(s) { 
    //Create an input type dynamically. 
    var element = document.createElement("input"); 
    //Assign different attributes to the element. 
    element.setAttribute("type", "text"); 
    element.setAttribute("value", s); 
    element.setAttribute("name", s); 
    element.setAttribute("id", s); 

    var foo = document.getElementById("d_form"); 

    //Append the element in page (in span). 
    foo.appendChild(element); 
    alert("Value=" + document.getElemebtById(s).value); 
} 

나는 내가 가장 큰 문제는 다른 형태의 내부 양식을 넣을 수 없다 element.setAtrribute("id",s);

+0

당신은 당신의 코드에서 오타가 :'경고 ("값 ="+ document.getElemebtById (들) .value)'해야'경고 ("값 ="+ document.getElementById를 (들). 가치); ' – IvanL

+0

아, 나는 그것을 놓쳐 버렸어 ... 논리가 맞다 나는 내가 사용했던 논리에 더 관심이있다. 여기에 값 속성을 s로 설정하고 있지만 텍스트가 웹 페이지에 표시되고 사용자가 일부 입력을 받으면 어떻게 검색합니까?상점 속성에 저장됩니까? – Riddle

+0

사용자가 입력 한 값을 지금 표시하는 것과 같은 방법으로 언제든지 검색 할 수 있습니다. id로 요소를 선택하고 값을 검색하십시오. 'document.getElementById (s) .value'. jQuery를 사용하면 결국 모든 입력을 처리하여 처리 할 수 ​​있지만 물론 페이지를 사용하여 수행 할 작업에 따라 다릅니다. – IvanL

답변

0

과 실수가 있어야한다고 생각합니다. HTML 코드 2 행과 13 행을 삭제하십시오.

IvanL은 또 다른 문제는 오타입니다.

기타 코드는 정상입니다.

다음과 같이 완벽하게 테스트 된 작업 코드를 제공하십시오.

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
<title>test</title> 
<script language="javascript"> 
function getkeywords() { 
    var index_array = new Array(); 
    var myString = "one and a two and a three = $ and four = $ and five = $"; 
    var splitresult = myString.split(" "); 

    for(i = 0; i < splitresult.length; i++) 
    { 
     if (splitresult[i] == "$" && i > 1) //retireving the keywords.. 
     { 
      add(splitresult[i-2]); 
     } 
    } 
} 
function add(s) { 
    //Create an input type dynamically. 
    var element = document.createElement("input"); 
    //Assign different attributes to the element. 
    element.setAttribute("type", "text"); 
    element.setAttribute("value", s); 
    element.setAttribute("name", s); 
    element.setAttribute("id", s); 

    var foo = document.getElementById("d_form"); 

    //Append the element in page (in span). 
    foo.appendChild(element); 
    alert("Value=" + document.getElementById(s).value); 
} 
</script> 
</head> 
<BODY> 
    <BR/> 
    <div align = "center"> 
     <br /><br /> 
     <INPUT type="button" value="Click To Enter Values" onclick="getkeywords()"/> 
     <br><br><br> 
     <input type="button" value="add" onclick="add('tt')"> 
    </div> 
    <div align="center" id="d_div"> 
     <form name="permavalues" id="d_form"> 
     </form> 
     <br/> <br/> 
    </div> 
</body> 
</html> 
0

동적으로 생성 텍스트 필드에서 입력을 검색하는 가장 좋은 방법은 무엇입니까?

나는 모든 텍스트 입력 요소의 양식을 통과하고 각각의 값을 검색 할 JQuery와 사용할 수 있습니다.

또는 각 텍스트 필드에 "txt_"와 같은 공통 이름을 부여한 다음 문자열 (IE-txt_1, txt_2, txt_3, ...)에 증분 ID를 추가 한 다음 양식을 프로그래밍 방식으로 반복 할 수 있습니다 사용 가능한 양식 필드의 총 수를 나타내는 값에 도달 할 때까지 일치하는 필드. 이 값은 javascript 정수가 될 수 있습니다. 예를 들어

...

$("form input[type='text']").each(function() 
{ 
    // gets text value for each field in the form 
    var textFieldValue = this.value; 

    // do stuff 
}); 
0

모든 입력 값을 얻기위한 jQuery 코드에 보라.

$(document).ready(function() 
{ 
    $('form#d_form input[type="text"]').each(
    function() 
    { 
     alert($(this).val()); 
    }); 
}); 
관련 문제