<input type="text" 将 id 值赋给 php 字符串

最大DN

我有一个模态表单可以将员工工作时间戳写入 SQL 数据库。我从下拉菜单中选择员工,并使用 id 标签通过 javascript 函数填充姓名和姓氏输入框。当我提交表单时,数据使用 php 写入数据库。问题是我无法将 javascript 字符串转换为 php 字符串或将输入标签的 id 标签分配给 php 字符串。我知道在输入中写入我可以使用 php value="...." 分配值。

$nome = '<script>document.writeln(a);</script>'; 

不起作用

这里的代码

<div class="modal-body">
    <input type="hidden" name="edit_id" value="<?php echo $id; ?>">
    <div class="form-group">
        <label class="control-label col-sm-2" for="dipendente">Dipendente:</label>
        <div class="col-sm-4">
            <select id="dipendente" name="dipendente" onchange="nomeCognome()">
            <option value="dipendente">Seleziona dipendente</option>
            <?php 
                $sqlOperatore="SELECT nome, cognome FROM login ORDER BY nome ASC";
                $resultOperatore = $conn->query($sqlOperatore);
                    if ($resultOperatore->num_rows > 0) {                                    
                        while($row = $resultOperatore->fetch_assoc()) {
                            $nome = $row['nome'];
                            $cognome = $row['cognome'];
                            $dipendente = $nome . ' ' . $cognome;
            ?>                                                  
                <option><?php echo $dipendente; ?></option>
                        <?php } ?>                                                  
            </select>                                   
        </div>
                    <?php } ?>
        <label class="control-label col-sm-2" for=" "> </label>
        <div class="col-sm-4"></div>
    </div>                          
    <br>
    <div class="form-group">
        <label class="control-label col-sm-2" for="nome">Nome:</label>
        <div class="col-sm-4" id="nome">
            <input type="text" class="form-control" id="nome" name="nome" readonly> </div>
        <label class="control-label col-sm-2" for="cognome">Cognome:</label>
        div class="col-sm-4" id="cognome">
            <input type="text" class="form-control" id="cognome" name="cognome" readonly> </div>
    </div>                          
    <br>                                                        

    <script type="text/javascript">
        function nomeCognome() {
            var x = document.getElementById("dipendente").value;
            var [a, b, c] = x.split(' ');
            document.getElementById("nome").innerHTML = [a];
            document.getElementById("cognome").innerHTML = [b, c].join(' ');
        }
    </script>           
</div>
<div class="modal-footer">
    <button type="submit" class="btn btn-primary" name="add_item"><span class="glyphicon glyphicon-plus"></span> Aggiungi</button>
    <button type="button" class="btn btn-warning" data-dismiss="modal"><span class="glyphicon glyphicon-remove-circle"></span> Annulla</button>
</div> 

<?php
//Add Matricola  
if(isset($_POST['add_item'])){
    $edit_id = $_POST['edit_id'];
    $nome = $_POST['nome'];
    $cognome = $_POST['cognome'];                       
    $sql = "INSERT INTO gest_personale.timbratura (nome, cognome) 
                                           VALUES ('$nome', '$cognome')";
    if ($conn->query($sql) === TRUE) {
        echo '<script>window.location.href="visualizzaTimbrature.php"</script>';
    } else {
        echo "Errore: " . $sql . "<br>" . $conn->error;
    }   
}
?>

我收到以下错误/通知:通知:未定义索引:名称和通知:未定义索引:cognome

斯瓦蒂

您正在使用.innerHTML为您的输入分配值,但这里id="nome"为 div 使用两个地方,为 .so 使用相同的输入cognome。因此,.innerHTML删除input-boxdiv 内部并用新文本替换它,这就是您提交表单时出现未定义索引错误的原因,因为有不存在具有所需值的输入。

相反,在添加之前和之后使用.value为 input 分配值并删除.readOnly = false属性.readOnly = true

演示代码

function nomeCognome() {
//remove readonly first
 document.getElementById("nome").readOnly = false;
  document.getElementById("cognome").readOnly = false;
  var x = document.getElementById("dipendente").value;
  var [a, b, c] = x.split(' ');
  //use .value to add value in input values
  document.getElementById("nome").value = [a];
  document.getElementById("cognome").value = [b, c].join(' ');
  //add readonly again..
  document.getElementById("nome").readOnly = true;
  document.getElementById("cognome").readOnly = true;
}
<div class="modal-body">
  <input type="hidden" name="edit_id" value="<?php echo $id; ?>">
  <div class="form-group">
    <label class="control-label col-sm-2" for="dipendente">Dipendente:</label>
    <div class="col-sm-4">
      <select id="dipendente" name="dipendente" onchange="nomeCognome()">
        <option value="dipendente">Seleziona dipendente</option>

        <option>
          Sss abc
        </option>
        <option>
          Sss11 abc1
        </option>

      </select>
    </div>

    <label class="control-label col-sm-2" for=" "> </label>
    <div class="col-sm-4"></div>
  </div>
  <br>
  <div class="form-group">
    <label class="control-label col-sm-2" for="nome">Nome:</label>
    <div class="col-sm-4">
      <input type="text" class="form-control" id="nome" name="nome" readonly="readonly"> </div>
    <label class="control-label col-sm-2" for="cognome">Cognome:</label>
    <div class="col-sm-4">
      <input type="text" class="form-control" id="cognome" name="cognome" readonly="readonly"> </div>
  </div>
  <br>

</div>
<div class="modal-footer">
  <button type="submit" class="btn btn-primary" name="add_item"><span class="glyphicon glyphicon-plus"></span> Aggiungi</button>
  <button type="button" class="btn btn-warning" data-dismiss="modal"><span class="glyphicon glyphicon-remove-circle"></span> Annulla</button>
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Vue将input [type = number]转换为字符串值

如何将(格式正确的)字符串变量分配给<input type =“ date” />值

如何将 kivy 按钮的 Id 和 Text 值作为字符串获取?

<input type = TEXT value = $ _ POST ['xx']>->仅显示字符串的第一个单词作为值吗?

使用jquery将id的值提取为字符串

在Elasticsearch中无法将字符串用作_id的值

pluck('id') 将字符串值转换为零

将字符串值与 PHP/Laravel 中的字符串数组进行比较?

将php值嵌入html字符串中

PHP:将字符串值附加到数组

使用PHP将值绑定到JSON字符串

JPlayer-将字符串值发送回php

将Cookie值插入php字符串

将多个值从字符串转换为 php json

将全局变量赋给<input>元素时,不会获得为其分配的新值

使用类型(“ TEXT”)的字符串表示形式将值强制转换为类型(TEXT)

将字符串插入<input>标签

php 将字符串插入字符串

如何将HTML标记ID转换为php字符串

如何通过id将php字符串转换为json?

将js变量的值赋给php变量后,为什么不能进行算术运算?

在混合字符串中,将数组的字符键和数字设为 PHP 中的值

在php中的字符之间将字符串中的值分开

Node js,Mongoose查询以将ID与以逗号分隔的字符串存储的值进行匹配

构建期间发生Crashlytics错误-无法将build_id读取为值字符串

如何将字符串值映射到HTML ID

将变量放入字符串PHP

如何将查询字符串值从 php 传递到 HTML 页面?

使用PHP将JSON中的“ false”值转换为空字符串