Im에 다음 번에 내 아약스 양식을 제출할 때 라디오의 값에 대해 빈 값을 얻는 중 문제가 발생합니다.후속 양식을 제출할 때 라디오의 Jquery 빈 값
순차적으로이 일어나는 것이다 :
- 사용자는
- 가 선택한 라디오
var enable = $('input[name=enable]:checked').attr('value');
- 포스트
AJAX data: { 'enable' : enable, },
를 통해 값의 값을 가져옵니다 라디오를 선택하고 제출 형태로 그 모두 잘 작동합니다. 그러나 사용자가 양식을 다시 제출하면 라디오의 값은 비어 있으며 아무 것도 제출되지 않습니다.
저는 '표준'라디오를 숨기고 스타일이 적용된 버전으로 바꾸기 위해 스타일과 Jquery를 사용하고 있습니다. 스타일을 끄면 라디오가 올바르게 선택되었음을 알 수 있지만 값은 제출되지 않습니다.
필요한 경우 더 많은 코드를 게시 할 수 있습니다. 감사.
<form method="post" id="add-form" class="form" onsubmit="return false;">
<label>Enable Location</label>
<input type="radio" name="location_enable" id="location_enable" value="enable" checked="checked" />
<input type="radio" name="location_enable" id="location_disable" value="disable" />
<button>Submit</button>
</form>
검증 형태
<script type="text/javascript">
$().ready(function() {
$("#add-form").validate({
rules: {
location_enable: { required: true }
},
success: function(span) {
span.html(" ").addClass("checked");
},
submitHandler: function(form) {
$('#add-form').submitForm();
}
});
});
</script>
게시 데이터를 사용자가 선택한이 '사용'AJAX 게시 스크립트의 값으로 '사용'할 경우 첫 번째 제출에
<script type="text/javascript">
$(document).ready(function() {
$.fn.submitForm = function() {
var location_enable = $('input[name=location_enable]:checked').attr('value');
$.ajax({
type: 'POST',
data: { 'location_enable' : location_enable },
url: 'script.php',
dataType: 'json',
success: function($data) {
var result = $data.result;
var msg = $data.msg;
if (result == "success") {
formMessageDisplay(msg, result);
$(':input', '#add-form').each(function() {
// Set the values to empty
$(':input').val('');
});
}
else {
formMessageDisplay(msg, result);
}
},
error: function($data) {
formMessageDisplay('<?php echo AJAX_ERROR; ?>', result);
}
})
}
});
</script>
. php. 사용자가 양식을 다시 제출하면 페이지를 다시로드하지 않고 AJAX가 '사용'을 선택하더라도 빈 값을 게시합니다.
죄송합니다. 이전에는 jsFiddle을 사용하지 않았습니다.
방화 광 지역 내에서 이것은 페이지를 다시로드하지 않고 두 번의 제출 결과입니다.
json_action addEloc
location_address Test
location_desc Test
location_enable enable
location_loc Test
location_map enable
location_name Testing radio
location_postcode Test
location_state QLD
라디오 필드에서 '활성화'두 가지에 유의하십시오.
둘째 제출 :
json_action addEloc
location_address Test
location_desc Test
location_enable
location_loc Test
location_map
location_name Testing radio
location_postcode Test
location_state QLD
두 번째 제출에있는 두 개의 라디오에 대한 값이 없었다.
필요한 데이터로 피들 (http://jsfiddle.net)을 만드십시오. – diEcho
** 사용자가 양식을 다시 제출하십시오 ** means ?? 페이지 새로 고침 후? – diEcho
양식이 ajax 스크립트에 게시되어 페이지 새로 고침이 없습니다. –