2012-01-12 2 views
7

내가 함께 사투를 벌인거야 상황은 다음과 같습니다 페이지에 대한 자세한 형성합니다 (hiddenId는 각 양식에 다른)이 있다는 것입니다 : 나는 자바 스크립트로 제출하려면 어떻게해야양식 ID가없고 제출 ID가없고 숨겨진 값을 알고있는 양식을 제출하려면 어떻게해야합니까?

<form method="post"> 
<input type="hidden" name="hiddenId" value="111222"> 
<input type="submit" value="Proceed"> 
</form> 

<form method="post"> 
<input type="hidden" name="hiddenId" value="111333"> 
<input type="submit" value="Proceed"> 
</form> 

(난 몰라 jQuery를 사용하여 마음에 드는 가치의 hiddenId를 포함하는 특정 양식? 도와 줘서 고마워!

+1

왜 양식에 클래스 또는 ID를 부여 할 수 없습니까? – binnyb

+0

이름은 더 이상 사용되지 않으므로 id를 사용해야합니다. 하나 이상의 요소에 대해 동일한 id를 사용하지 마십시오. –

답변

7

뭔가 시작 :

var inputs = document.getElementsByTagName("input"); 
for(var i = 0; i < inputs.length; i++) { 
    if(inputs[i].type === "hidden" && inputs[i].value === "111333") { 
     inputs[i].form.submit(); 
    } 
} 

당신이 jQuery를 사용할 수있는 경우 :

$("input[type='hidden'][value='something']").closest("form").submit(); 
+0

... 아니면 그냥 그것의'form' 속성을 사용할 수 있습니다 ... – Neil

+0

@Neil - 네, 약간 더 좋을지도 모릅니다 :) 편집 됨. –

+0

두 솔루션 모두 완벽하게 작동합니다. * 나와 같은 인형에 대한 참고 사항 : 코드는 페이지 끝 부분에 있어야합니다. * –

2

액세스 그들을 통해 var allForms = document.forms;

루프를 사용하여 양식의 모든 액세스 입력에 필요에 따라 당신에게 가야 다음 행과 함께

0

양식에 ID를 추가 할 수 있습니다. BMIT 버튼 :

<form method="post" id="form1"> 
<input type="hidden" name="hiddenId" value="111222"> 
<input type="submit" value="Proceed" id="submit1"> 
</form> 

<form method="post" id="form2"> 
<input type="hidden" name="hiddenId" value="111333"> 
<input type="submit" value="Proceed" id="submit2"> 
</form> 

은 다음 양식 제출 jQuery를 사용

$("#submit1").click(function() { 
    form1.submit(); 
} 
$("#submit2").click(function() { 
    form2.submit(); 
} 
+1

* IF * 원래 포스터가 jQuery를 사용하거나 사용하고 싶었습니다. –

+0

OP가 jQuery를 사용하지 않습니다. –

+0

원본 포스터는 "어떻게 자바 스크립트로 제출합니까?"라는 이유로이 접근법을 사용했습니다. –

6

하고 document.forms 배열이다. document.forms[0]이 첫 번째입니다.

요소는 같은 방식으로 작동 :

document.forms[0].elements[0].value

할 수 있습니다 루프를 사용하면 값이 다음 현재 양식 제출 때까지 :

document.forms[x].submit() 
1

당신은 document.querySelector 또는 하나를 사용할 수를 이전 브라우저에서 숨겨진 입력 요소를 찾으려면 다양한 JavaScript 라이브러리를 사용하고 form 속성을 사용하여 양식에 액세스하고 submit 메서드를 호출하십시오.

관련 문제