2015-11-30 3 views
1

У меня есть эта база данных со следующими данными: данные 1: text1 данные 2: текст2 . . . данные 14: текст 14Как ввести значение по умолчанию в скрытый ввод

Я пытался ввести эти данные в столбец «выбрать». Так что я сделал это:

<script> 
function dropdownlistchange(dropDown) { 
    var selectedValue = dropDown.options[dropDown.selectedIndex].value; 
    document.getElementById("category").value = selectedValue; 
} 
</script> 

и дисплей:

<?php 
$con= mysqli_connect("localhost","root","") or die ("could not connect to mysql"); 
mysqli_select_db($con,"adminsys") or die ("no database"); 
$query = "SELECT * FROM productmodelcategory"; 
$results = mysqli_query($con, $query)or die("Connection could not be established"); 
echo "<select class='categoryoption' name='categorylist' id='categorylist' onChange='dropdownlistchange(this);'>"; 
while ($row = mysqli_fetch_assoc($results)) 
{ 
echo "<option value='".$row['Category']."'selected='selected'>".$row['Category']."</option>"; 
} 
echo "</select>"; 
?> 

и мой выход дисплея:

<input name="category" type="hidden" id="category" value="" required="required"/> 

Проблема, которую я имею будет я прилагаю эту кодировку в форму отправки, и когда я пытаюсь не выбирать значение из-за того, что оно оставлено в качестве значения по умолчанию, а когда я отправляю форму, значение, отображающее «Категория столбцов», не может быть нулевым ». Кто-нибудь может помочь мне решить эту проблему? Я не уверен, что меняет метод «onchange» на какой метод.

+0

либо у вас есть плохие данные в базе данных, или ваш класс категорий не существует, и вы должны быть взбиты за то, что не используете error_reporting (E_ALL) во время разработки ..., чтобы узнать, какие из них использовать var_dump ($ row); Кроме того, вы уверены, что Категория хранится в вашей базе данных уже с предварительным html экранированным? else, lookup htmlentities() – hanshenrik

+0

во время установки проверьте это значение, и если оно равно null, вы можете установить значение по умолчанию там – WisdmLabs

ответ

0

Ваш category input будет иметь определенное значение, если пользователь действительно выберет что-то от dropdown. Если пользователь ничего не выбрал, в этом случае category input не будет содержать никаких значений.

ли присвоить одно value атрибут вашей category input, как показано ниже

<input name="category" type="hidden" id="category" required="required" value="0"/> 

Else, вы можете установить 1-значение строки по умолчанию, как следовать

<?php 
$con= mysqli_connect("localhost","root","") or die ("could not connect to mysql"); 
mysqli_select_db($con,"adminsys") or die ("no database"); 
$query = "SELECT * FROM productmodelcategory"; 
$results = mysqli_query($con, $query)or die("Connection could not be established"); 
echo "<select class='categoryoption' name='categorylist' id='categorylist' onChange='dropdownlistchange(this);'>"; 
$i = 0; 
$default_value =0; 
while ($row = mysqli_fetch_assoc($results)) 
{ 
    if($i == 0){ 
     $default_value = $row['Category']; 
     $i = 1; 
    } 
    echo "<option value='".$row['Category']."'selected='selected'>".$row['Category']."</option>"; 
} 
echo "</select>"; 
?> 
<input name="category" type="hidden" id="category" required="required" value="<?php echo $default_value;?>"/> 
Смежные вопросы