2012-05-19 2 views
1

여러 레코드에 걸쳐 전체 데이터 묶음을 저장하기 위해 일련 화 된 필드를 제공하는 간단한 비 Ajax 양식이 있습니다. 즉 여러 줄 항목이있는 견적과 각 줄의 각 필드는 편집 가능합니다.트위터 부트 스트랩의 제출/저장 버튼에 대한 버튼 라벨 및 조치 변경? 양식을 저장하지 않을 때 수행합니까?

양식을 제출하기 전에 저장해야하며 양식을 편집하는 경우 변경 사항을 저장하기 위해 양식 제출 버튼 (내 준 컨트롤러에 대한 URL로 완료)을 보내고 그렇지 않으면 클라이언트에게 제출이라고 말하면됩니다. 편집되지 않은 경우.

나는 AJAX를 조사하고 있지만,이 상황에 과도하게 노출되어 있는지 궁금해하고 있습니다.

도움을 주시면 감사하겠습니다.

답변

1

AJAX는 버튼의 문언을 변경하기 만하면 과잉입니다. '변경 사항 저장'을 클릭하면 양식이 정상적으로 제출됩니다 (기본값은 'SUBMIT TO CLIENT'로 다시로드됩니까?) 그러면 필요하지 않습니다.

원하는 것은 일반 자바 스크립트입니다. 단추의 텍스트를 변경하는 각 필드에 onchange 이벤트 처리기를 연결하십시오. 또한 양식의 다른 측면 (예 : 숨겨진 'data_changed'필드)을 변경하여 컨트롤러가 데이터를 제출하는 대신 데이터를 저장하도록 할 수 있습니다.

변경 사항이 없으면 버튼은 '클라이언트로 보내기'로 유지됩니다.

나는이 대답으로 트랙에 있습니까? 양식을 제출하지 않고 '변경 사항을 저장'해야합니까? 아니면 이것을 달성하는 방법에 대한 자세한 정보가 필요하십니까?

편집 : 샘플 코드는이 궤도에 확실히

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="utf-8" /> 
<title>Save vs Submit Example</title> 
<script type="text/javascript"> 

onchange_handler = function (event) { 
    var form_modified = document.getElementById("form_modified"); 
    var form_submit = document.getElementById("form_submit"); 

    form_modified.value = "true"; 
    form_submit.value = "Save Changes"; 
} 

</script> 
</head> 
<body> 
<form method="post"> 

<input name="quote_number" type="text" onchange="onchange_handler()" /> 
<input name="quote_date" type="text" onchange="onchange_handler()" /> 


<input name="line_number" type="text" onchange="onchange_handler()" /> 
<input name="line_product" type="text" onchange="onchange_handler()" /> 
<input name="line_quantity" type="text" onchange="onchange_handler()" /> 

<input name="form_modified" id="form_modified" type="hidden" value="false" /> 
<input type="submit" id="form_submit" value="Submit to Client" /> 

</form> 
</body> 
</html> 
+0

을 추가했다. 그래서 각 필드에 onChange 처리기를 통해 연결된 간단한 JS 함수를 만들 필요가 있다고 생각하고 사용자가 필드의 값을 변경하면이 함수는 단추 레이블을 변경하고 숨겨진 양식 필드를 " 수정 된 "또는 이와 비슷한 것. 가능한 경우 자바 스크립트에 대한 도움을 받고 싶습니다. – SWL