2010-07-07 7 views
1

아이디어 : 일반 Javascript 또는 jQuery를 통해 type = "hidden"인 입력 값을 설정합니다.숨겨진 입력 값 설정

문제점 : 선택기가 정확하고 충돌 요소가 없다고 확신하지만 jQuery 나 document.getElementById는 숨겨진 입력을 찾을 수 없습니다.

코드 : 내가보기에는 혼란스럽고 복잡한 PHP로 가득하기 때문에 실제로 많이 게시 할 수는 없습니다. 선택기 아무 문제가 없습니다 하고 "입력"나는 숨겨진를 참조 사용하고 다른 요소 :

$("#" + input.id.substr(0,2) + "_budget_hidden").val(budg_total); 

참고 :

다음은 자바 스크립트입니다.

다음은 HTML입니다 :

<input type="hidden" name="s<?=$step_counter?>_budget_hidden" 
     id="s<?=$step_counter?>_budget_hidden" value="0" /> 

코드는 문맥 가지이지만 문법적 오류보다는 자바 스크립트와 일반적인 문제의 더. 생각?

답변

2

$("#" + input.id.substr(0,2) + "_budget_hidden").val(budg_total);에서 숨겨진 ID의 첫 번째 밑줄 앞에 두 개의 문자를 사용합니다. 그러나 당신의 숨겨진 ID는 하나 개의 문자 '의'는 <?= ?>

확인

편집 질문 편집하기 전에 숨겨져 있습니다.

body onload 이벤트 후 스크립트를 호출합니까? EX :

$(document).ready(function(){ 
    $("#" + input.id.substr(0,2) + "_budget_hidden").bind("keyPressed",function(){ 
     $("#" + input.id.substr(0,2) + "_budget_hidden").val(budg_total); 
    } 
}); 
+0

+1 똑같은 줄 알았는데 – galambalazs

+0

jQuery 선택기에서 참조하는 "입력"변수에 대해 onkeypress 이벤트에서 호출되고 있습니다. – Will

+0

오, 당신이 말하는 것을 봅니다. 이벤트는 입력 자체에서 인라인으로 정의됩니다. onkeypress = "updateDifferences (this)" 이론상 문제가되지 않아야합니다. – Will

0

는 그 input.id.substr (0,2), 문자열의 시작에서 시작이 개 문자를 가지고 그것을 사용 말합니다 생각합니다.

http://www.w3schools.com/jsref/jsref_substr.asp

메소드 호출의 결과가 무엇인지 볼 수 방화범을 사용해보십시오.

+0

네, 그 부분 문자열이 무엇입니까. 앞에서 말했듯이 컨텍스트에서 벗어난 다소 복잡한 시스템이지만 특정 선택자가 정확하고 페이지의 숨겨진 양식 요소에 해당합니다. Firebug를 사용했으며 오류나 경고가 없습니다. – Will

1

FYI : jQuery를 사용하여 숨겨진 입력 값을 얻을 수 있습니다. jQuery를 사용하여 숨겨진 입력 값을 편집 할 수도 있습니다.

'substr'메서드를 사용하여 숨겨진 값을 얻는 방법에 문제가 있다고 생각합니다. substr(0, 2)을 사용하고 있으므로 변수 $step_variable이 한 자리 숫자인지 확인하십시오. 그렇지 않으면 코드가 올바른 결과를 반환하지 않습니다.

아래 예제 코드를 한 번 확인해 보겠습니다.

 
    input type="hidden" class="hidden_val" name="s_budget_hidden" id="s" value="0" 

나는이 당신을 도울 것이라고 생각 : 여기

 
    var input_id = $("hidden_val").attr("id").substr(1); 
    $("#" + input_id + "_budget_hidden").val(budg_total); 

를 HTML의 :

여기에 자바 스크립트입니다. 문제를 해결하기 위해이 흐름을 따르지 않으면 알려주십시오.

+0

그게 좋은 지적입니다, 거기에 몇 가지 잠재적 인 오류가 발생할 수 있습니다. 방금 대신 폭발을 사용하기로 결정했기 때문에 어떤 고약한 문제는 피했습니다. 그러나 실험하고있는 특정 입력에는 step_counter 값이 2이므로 어쨌든 중요하지 않습니다. 나는 110 %가 셀렉터가 옳다 고 확신하지는 않는다. 나는 그것을 에코 해왔다. 그리고 내가 액세스하려고 시도하고있는 숨겨진 입력의 이드와 정확히 똑같은 것을 보여준다. 선택기 자체가 아니라 jQuery/Javascript입니다. – Will

관련 문제