取消选中通过 Echo 从 POST[] 选中的复选框

Uncheck Checked Boxes checked through Echo from POST[]

我想在按下清除按钮时取消选中这些框。 Form.reset 不起作用。 getelementbyid.checked = false.

不会

这是我检查它们的方式

<input type="checkbox"  name="free" <?php echo empty($_POST['free']) ? '' : '         checked="checked" '; ?>>Free Shipping<br>

这是清除按钮:

<input type="reset" value="clear" onclick="clearform()" style="float:right;        width:80px; margin-right:5px;">

这是函数:

function clearform()
{
   document.getElementById("results").innerHTML = "";
   document.getElementById("results").style.visibility = "hidden";
   document.getElementById("searchform").reset();
}

如果你想使用 getElementById(),你首先需要给你的复选框一个 id,就像:

<input type="checkbox" id="exempleId" ..... />

然后在您的 javascript 中取消选中复选框:

document.getElementById("exempleId").checked = false;

您必须以其他方式执行此操作,例如

按顺序写在上面。

$check = '';
$check = (isset($_POST['free']) && !empty($_POST['free'])) ? 'checked="checked"' : '';

if(isset($_REQUEST['reset']))
{
    $check = '';
}

并将您的输入更改为

<input type="checkbox"  name="free" <?php echo $check; ?>>Free Shipping<br>

并将重置按钮设为

<input type="reset" value="clear" onclick="clearform()" style="float:right; width:80px; margin-right:5px;" name="reset" >

只需在复选框中添加 id。变化

 <input type="checkbox"  name="free" ... 


<input type="checkbox" name="free" id="free" ...

function clearform()

中添加document.getElementById("free").checked = false;
function clearform()
{
    document.getElementById("results").innerHTML = "";
    document.getElementById("results").style.visibility = "hidden";
    document.getElementById("searchform").reset();
    document.getElementById("free").checked = false;
}