사용자가 항목 목록에서 선택할 수있는 테이블이 있습니다.
<table class="table table-condensed table-striped table-bordered">
<thead>
<th scope="col">Code</th>
<th scope="col">Description</th>
<th class="text-center" scope="col">Select</th>
</thead>
<tbody>
<tr class="" id="PR7518">
<td>1234A</td>
<td>Option A</td>
<td class="text-center">
<button type="button" class="btn btn-success btn-sm">Select</button>
</td>
</tr>
<tr class="" id="PR7636">
<td>45678B</td>
<td>Option B</td>
<td class="text-center">
<button type="button" class="btn btn-success btn-sm">Select</button>
</td>
</tr>
<tr class="" id="PR9149">
<td>9988C</td>
<td>Option C</td>
<td class="text-center">
<button type="button" class="btn btn-success btn-sm">Select</button>
</td>
</tr>
<tr class="" id="PR9187">
<td>4455D</td>
<td>Option D</td>
<td class="text-center">
<button type="button" class="btn btn-success btn-sm">Select</button>
</td>
</tr>
</tbody>
</table>
예 버튼을 클릭하면 선택한 항목의 ID에 대한 PHP 세션 변수를 설정하는 AJAX 요청이 실행됩니다.
$productID = $_POST['itemID'];
$_SESSION['selectedItemID'] = $itemID;
사용자가 양식을 제출할 때 $ _SESSION [ 'selectedItemID']가 비어 있지 않은지 확인하기 위해 테스트를 수행하고 비어 있으면 오류 메시지를 표시합니다. 예 :
if ($_SESSION['selectedItemID'] == '') {
// display error message
}
양식 페이지에 경고를 표시하고 사용자가 아직 선택하지 않은 경우 양식을 제출하지 못하도록 클라이언트 사이트 유효성 검사를 추가하고 싶습니다.
현재 내 스크립트는 다음과 같습니다.
$(document).ready(function() {
$('button.btn-success').click(function() {
// Remove the classes from all of the TR elements
$(this).parents('table').find('tr').removeClass('success warning danger');
var itemID = $(this).closest('tr').attr('id');
console.log(itemID);
// Create a reference to $(this) here:
$this = $(this);
$.post('updateSelection.php', {
itemID: itemID,
selectionType: 'yes'
}, function(data) {
data = JSON.parse(data);
if (data.error) {
console.log(data);
console.log('something was wrong with the ajax request');
$this.closest('tr').addClass("warning");
//make alert visible
$("#alert_ajax_error").show();
return; // stop executing this function any further
} else {
console.log('update successful - success add class to table row');
$this.closest('tr').addClass("success");
$this.closest('tr').removeClass("danger");
//$(this).closest('tr').attr('class','success');
}
}).fail(function(xhr) {
console.log('ajax request failed');
// no data available in this context
$this.closest('tr').addClass("warning");
//make alert visible
$("#alert_ajax_error").show();
});
});
});
PHP $ _SESSION [ 'selectedItemID'] 세션 변수가 있는지 확인하기 위해 제출 버튼을 연결하는 방법을 잘 모르겠습니다. 아니면 같은 결과를 얻을 수있는 다른 방법이 있다면?
선택한 ID를 숨겨진 양식 입력에 쓰고 숨겨진 입력이 비어 있는지 제출을 확인했습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다