首页 > 解决方案 > 部分表单提交

问题描述

我有一个表格也是一个表格,我需要能够选择一个复选框,当我提交表格时只提交同一行上的相应文本框我目前不知道任何 ajax 但如果这是唯一的方法就这样吧,但最好我想要一个非 ajax 解决方案,这是一个屏幕截图:

截屏

标签: phphtml

解决方案


如果您不想使用 AJAX

  1. 正如@LelioFaieta 所说,您可以在后端页面中处理已检查的行

  2. 您可以使用纯 javascript 将检查的行值作为隐藏值放入表单中,用户将提交带有隐藏值的表单...

    像这样的东西:

function toggleValue(arg){
    var exist = document.getElementById(arg+'checked');

    if(exist == null){
        var val = document.getElementById(arg);

        var hidden = document.createElement('input');
        hidden.type = 'hidden';
        hidden.value = val.value;
        hidden.id = arg+'checked';

        document.getElementById('form2').appendChild(hidden);
    }else{
        exist.remove();
    }
}

function updateVal(arg){
    var element = document.getElementById(arg+'checked');

    if(element != null){
        var val = document.getElementById(arg);
        element.value = val.value;
    }
}
<input type='text' id='text1' onchange='updateVal("text1")'>
<input type='checkbox' onclick='toggleValue("text1")'>

<form id='form2' action='backend.php' method='POST'>
    <input type='submit' value='Send'>
</form>

老实说,我认为这是一个丑陋的解决方案,我建议您使用 AJAX


推荐阅读