<input />元素不发布数据?

时间:2015-04-20 14:20:03

标签: php html forms input

我有一个表单页面,当我提交此表单时,所有输入都成功发布,除了这个:

<input id="TC" class="form-control" name="kullanici_id" type="text" onchange="edit()" 
  <?php if($this->data['kullanici_id']){echo 'readonly';} ?>  
  value="<?php echo $this->data['kullanici_id']?>">

但为什么?

- 这是我的.phtml文件:

<html>
<head>

</head>
<body>
<form  enctype="multipart/form-data" action="/admin/kaydet" method="post" onSubmit="javascript: beforeSubmit();">
    <?php if(strlen($this->data['id'])):?>
        <input type="hidden" name="id" value="<?php echo $this->data['id']?>">
    <?php endif;?>
    <font color="green"><h3>DÜZENLE</h3></font>
    <img src="/foto/<?php echo $this->data['fotograf']?>" height="110" width="110" align="left" />
    <table class="table">
        <tr>
            <td>T.C. Kimlik No.:</td>
            <td><input id="TC" class="form-control" name="kullanici_id" type="text" onchange="edit()" <?php if($this->data['kullanici_id']){echo 'readonly';} ?>  value="<?php echo $this->data['kullanici_id']?>"></td>
        </tr>
        <?php if(!strlen($this->data['id'])):?>
        <tr>
            <td>Parola:</td>
            <td><input id="password2" class="form-control" type="password" name="parola" value="<?php echo $this->data['parola']?>"></td>
        </tr>
            <tr>
                <td>Parola Tekrar:</td>
                <td><input onchange="passwordCheck(this.value)" class="form-control" type="password" name="parola" value="<?php echo $this->data['parola']?>"></td>
        </tr>
        <?php endif; ?>
    </table>
    <td><button type="submit" class="btn btn-success btn-sm glyphicon glyphicon-floppy-disk">KAYDET</button> </td>
</form>
</body>
</html>

如果我有身份证明;页面看起来像编辑成员页面,如果我没有;页面将添加一个新成员。在id =“TC”输入中,如果我编辑一个成员,这个输入不应该改变,所以我添加一个readonly来解决这个问题。但是当我提交时,输入不会发布。 抱歉我的英语不好:D

1 个答案:

答案 0 :(得分:0)

您的字段未提交的原因是因为它设置为readonly

原因是'如果用户无法更改字段,则无法提交字段,因为值始终保持不变'。

缓解此行为的一种方法是添加具有相同名称的隐藏字段

<input type="hidden" name="kullanici_id" value="<?php echo $this->data['kullanici_id']?>"> />
<input id="TC" class="form-control" name="kullanici_id" type="text" onchange="edit()" <?php if($this->data['kullanici_id']){echo 'readonly';} ?>   value="<?php echo $this->data['kullanici_id']?>" />