Примечание: неопределенный индекс Radio & amp; Текстовое окно

Я создал две радиокнопки, и сценарий такой, как показано ниже.
1. Non-Dist отмечен, текстовое поле должно быть только для чтения
2. Dist проверил, текстовое поле позволяет заполнить

Тем не менее, я столкнулся с ошибкой, указанной ниже, когда Non-Dist проверил и отправил форму.

Примечание: неопределенный индекс: cust_edc_code в
C: \ xampp \ htdocs \ spa317 \ inv.php в строке 49

Пожалуйста, совет, что я пропустил. Заранее спасибо.

КОД:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Create SPA Invoice</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
</head>

<body>
<form action="" method="post" name="form_spa_inv">
<table class="tb_create_spa_inv">
<tr>
<td>Status* : </td>
<td>
<!--To set status's radio button and save it in database-->
<input type="radio" name="cust_status" id="cust_status1" class="status_dis_text" value="Non-Distributor" <?php if (isset($cust_status) && $cust_status=="Non-Distributor") echo "checked";?> />Non-Dist
<input type="radio" name="cust_status" id="cust_status2" class="status_dis_text" value="Distributor" <?php if (isset($cust_status) && $cust_status=="Distributor") echo "checked";?> />Dist
<!--EDC code for distributor-->
<input type="text" name="cust_edc_code" size="10" />
<script>
$(function() {
$('input[class=status_dis_text]').change(function()
{
if ($(this).is(':checked')) {
$('input[name=cust_edc_code]').attr('disabled', 'disabled');
$(this).next().removeAttr('disabled');
}
});

$('input[class=status_dis_text]:first').attr('checked', 'checked').change();
});
</script>
</td>
</tr>
</table>

<p style="text-align: center;"><input type="submit" name="Submit" value="Create">
</form>
</body>
</html>

<?php
//including the database connection file
include_once("config_db.php");

if(isset($_POST['Submit']))
{
$cust_status=$_POST['cust_status'];
$cust_edc_code=$_POST['cust_edc_code'];

//insert data to database
$insert_cust=mysql_query("INSERT INTO tb_cust(cust_status,cust_edc_code) VALUES('$cust_status','$cust_edc_code')");
}
?>

0

Решение

<script>
$(function() {
$('input[class=status_dis_text]').change(function() {
if ($(this).is(':checked')) {
$('input[name=cust_edc_code]').attr('disabled', 'disabled');
$(this).next().removeAttr('disabled');
}
});
$('input[class=status_dis_text]:first').attr('checked', 'checked').change();
});
</script>

Этот код jquery отключает ваш ввод с именем cust_edc_code, поэтому он не отправляется на сервер.

Если эта строка не делает что-то действительно полезное, удалите ее:
$('input[name=cust_edc_code]').attr('disabled', 'disabled');

или замените его следующим:

$('input[name=cust_edc_code]').attr('readonly', 'readonly');
0

Другие решения

настройка disabled в поле ввода предотвращает его отправку на сервер. Если вы хотите только запретить пользователю изменять поле, используйте readonly,

0

По вопросам рекламы [email protected]