选择禁用不会正确传递值

时间:2013-06-02 13:49:45

标签: php html codeigniter

请帮帮我。 我使用Codeigniter。

在VIEW中我有

'<select name="sender[]" style="width:150px" class="chzn-select" disabled='disabled'>
<?php foreach($statments as $statement): ?>
<option value="<? echo $statement->id; ?>" <?php echo ($statement->id==$pris->sender)?"selected='selected'":""; ?>><?php echo $statement->name; ?>'<?php endforeach; ?>

如果我使用“禁用”,则将“sender”作为NULL传递。 如果我删除“禁用”它工作正常,但我不需要主动选择。

2 个答案:

答案 0 :(得分:3)

disabled元素不会在POST中发送其值。

如果您希望传递数据但阻止用户编辑字段,请改用readonly

编辑:显然,这不是<select>框的选项。有关解决方案,请参阅HTML form readonly SELECT tag/input

http://kreotekdev.wordpress.com/2007/11/08/disabled-vs-readonly-form-fields/

答案 1 :(得分:0)

谨指出,以上答案是迄今为止最好的解决方案。

$('select option:not(:selected)').each(function(){ $(this).attr('disabled', 'disabled'); }); 

原因是,即使仍将其禁用,该值仍会无错误地传递到数据库。