【问题标题】:Why my input value does not appear PHP HTML为什么我的输入值没有出现 PHP HTML
【发布时间】:2021-11-27 01:37:04
【问题描述】:

所以,我正在做一个学校作业,我必须制作一个最多 10 个输入的计算器,有一个按钮可以添加更多输入,但由于某些原因,当我提交值时它不起作用,它只是显示页面中的前 2 个静态输入。

我认为问题与名称有关,但找不到它

这就是我现在正在做的事情:

<body>
<table id="table">
    
    
    <tr id="adicionarcells">
        <form id="form1" name="form1" action="romanos.php" method="post">
        <td></td>
            <td>
               
                <input type="text" id="valor1" name="valor1" pattern="(^(?=[MDCLXVI])M*(C[MD]|D?C{0,3})(X[CL]|L?X{0,3})(I[XV]|V?I{0,3})$)" required>
                <select id="operador1" name="operador1">
                    <option value="value1" selected>+</option>
                    <option value="value2">-</option>
                    <option value="value3">*</option>
                    <option value="value4">/</option>
                </select>
            </td>
            <td>
                <input type="text" id="valor2" name="valor2" pattern="(^(?=[MDCLXVI])M*(C[MD]|D?C{0,3})(X[CL]|L?X{0,3})(I[XV]|V?I{0,3})$)" required>
            </td>
            <td></td>
            <td>
                <input type="button" id="adiciona" value="+" style="width: 20px;" onclick="myFunction();">
                <input type="submit" value="=" style="width: 20px;">
            </td>
        </form>
        </tr>

    </table>
    <!-- <button type="button" id="button1" onclick="valida();">Enviar</button> -->
<!-- <div id="mensagem" align="center"
    style="position:fixed; top:20px; left:10%; width:80%; padding:5px 5px 5px 5px; display:none;"></div> -->
function myFunction() {
    var table = document.getElementById("table");
    var rowCount = table.rows[0].cells.length;
    var row = document.getElementById("adicionarcells");
    var x = row.insertCell(-1);
    i++
    console.log(rowCount);
    x.innerHTML = "<input type=\"text\" id=\"valor" + rowCount + "\" name=\"valor" + rowCount + "\" pattern=\"(^(?=[MDCLXVI])M*(C[MD]|D?C{0,3})(X[CL]|L?X{0,3})(I[XV]|V?I{0,3})$)\" required><select id=\"operador" + rowCount +"\" name=\"operador" + rowCount + "\"><option value =\"value1\" selected >+</option ><option value =\"value2\">-</option><option value =\"value3\">*</option><option value =\"value4\">/</option></select>";
    if (rowCount == 11) {
        document.getElementById("adiciona").disabled = true;
    }
}

obs:它确实添加了输入,但值没有出现在我的 php 中

【问题讨论】:

  • 表在&lt;form&gt;里面吗?
  • 顺便说一句,如果你使用'作为x.innerHTML的字符串分隔符,你就不需要转义所有的",它会更容易读写。跨度>
  • 添加表格和表单的HTML。
  • 它在一个表格里面,我刚刚编辑了它,谢谢你的提示!!
  • &lt;tr&gt; 的子代必须是&lt;td&gt;&lt;th&gt;,您不能将&lt;form&gt; 包裹在单元格周围。

标签: javascript php html function input


【解决方案1】:

您需要将表单放置在整个表格周围,而不是行中的单元格。

<form id="form1" name="form1" action="romanos.php" method="post">
  <table id="table">
    <tr id="adicionarcells">
      <td></td>
      <td>
        <input type="text" id="valor1" name="valor1" pattern="(^(?=[MDCLXVI])M*(C[MD]|D?C{0,3})(X[CL]|L?X{0,3})(I[XV]|V?I{0,3})$)" required>
        <select id="operador1" name="operador1">
          <option value="value1" selected>+</option>
          <option value="value2">-</option>
          <option value="value3">*</option>
          <option value="value4">/</option>
        </select>
      </td>
      <td>
        <input type="text" id="valor2" name="valor2" pattern="(^(?=[MDCLXVI])M*(C[MD]|D?C{0,3})(X[CL]|L?X{0,3})(I[XV]|V?I{0,3})$)" required>
      </td>
      <td></td>
      <td>
        <input type="button" id="adiciona" value="+" style="width: 20px;" onclick="myFunction();">
        <input type="submit" value="=" style="width: 20px;">
      </td>
    </tr>
  </table>
</form>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-21
    • 1970-01-01
    • 2013-07-21
    • 2021-07-30
    • 2015-09-04
    • 2013-03-15
    相关资源
    最近更新 更多