2011-01-15 3 views
4

체크 박스와 라디오 버튼 (열 3 및 4)과 저장 버튼이 모두 하나의 큰 양식의 일부이고 모든 삭제 버튼 (마지막 열)이 다음과 같은 유효한 유효한 (x) javascript를 사용하지 않고 자신의 개별 양식 (로캘 ID로 숨겨진 필드가 있음) 버튼을 제출하고 있습니까?테이블에 중첩 된 양식 피하기

테이블을 사용하면 양식이 중첩되어 결국 유효하지 않습니다. 그래서 나는 궁금해했다. 내가 가질 수있는 다른 가능성들. 아마도 플로팅 칼럼일까요?

답변

0

두 개의 다른 테이블을 사용할 수 있습니다. 하나는 체크 박스, 라디오 버튼 및 저장 버튼에 대한 단일 양식이고 다른 하나는 삭제 버튼과 숨겨진 필드가있는 것입니다.

CSS를 사용하여 서로 나란히 배치하십시오.

+0

그래 그건 참으로 가능성이다. 비록 내가 의미론을 너무 좋아하지는 않지만 솔직히 말해서. –

+0

@fireeyedboy - 의미 상 모든 양식 요소는 하나의 양식에 속합니다. 하나의 삭제에 대한 모든 정보를 제출하지만 결국 다른 옵션입니다. – Oded

+0

그래, 그럴 수도있다. 그러나 MVC 앱의 일부이기 때문에 컨트롤러의 각 액션에 매핑 할 형식이 좋습니다. : -/그리고 자바 스크립트를 사용하지 않고서는 필자가 수행하지 않는 단일 항목 입력 작업으로 연결해야합니다. –

1

단일 양식을 사용할 수 있습니다. 누른 버튼의 이름 - 값 쌍이 요청 매개 변수로 전송된다는 사실을 이용하십시오. HTML 양식을 채우는 동안 버튼의 이름으로 로켈 ID를 동적으로 인라인합니다.

<input type="submit" name="delete_1" value="Delete" /> 
<input type="submit" name="delete_2" value="Delete" /> 
<input type="submit" name="delete_3" value="Delete" /> 

그리고 서버 측 확인에 그 중 하나를 누르면 된 경우 (의사/Java 스타일) :

for (Locale locale : locales) { 
    if (request.getParameter("delete_" + locale.getId()) != null) { 
     // Delete button is pressed for this locale. 
    } 
} 
+0

감사합니다. 실제로 가능합니다. 하지만 @Oded에 댓글을 달았 기 때문에, MVC 컨트롤러 메서드를 분리하여 사용하기 때문에 단일 항목 입력 동작을 피하려고합니다. 하지만 어쨌든 이것을 사용하겠습니다. 내 다른 옵션도 이상적인 형태이기 때문에. –

+1

공통 엔트리 포인트가 차례로 더 위임되도록하십시오. – BalusC