[英]Html form Radio button set to checked by Default Based on PHP variable
我试图根据PHP变量的结果设置要检查(或不检查)的单选按钮。 我希望在加载页面时完成此操作,以使其需要用户零交互。 我遇到的问题是我似乎无法将单选按钮设置为已检查状态。
以下是一些额外的信息
单选按钮有2个。 成员和非成员。 根据用户注册时选择的内容,我的PHP变量将包含Member或non-Member。 这是我要用来确定在加载页面时应检查哪个单选按钮的数据。 (AKA是变量=成员,已选中成员单选按钮= true。等等。)
注意:我已经测试了PHP变量,它保存了正确的数据。
这是我的html表单的代码:
<form name="registration" action="accountSF.php" method="post">
<div id="leftSideForm"> <!-- Left side of the Registration Form -->
Are you a member of an attending clubs? <br />
<input type="radio" name="clubMember" id="member" value="Member" onload="return isClubMember();" onMouseDown="this._chckd = this.checked" onclick="if (this._chckd) this.checked = false; return validateClubInfo();" />Club Member
<input type="radio" name="clubMember" id="nonMember" value="Non-Member" onload="return isClubMember();" onMouseDown="this._chckd = this.checked" onclick="if (this._chckd) this.checked = false; return validateClubInfo();"/>Non Member<br /> <br />
<button type="submit" onclick="" style="width:100px;" >Save Changes</button>
</div> <!-- end of Left sideform -->
</form>
这是我的JavaScript函数(包含在表单下方):
<script type="text/javascript">
function isClubMember()
{
var IsMember = "<?php echo $U_Club_Member; ?>";
if(IsMember == "Member")
{
document.getElementById("member").checked = true;
document.getElementById("nonMember").checked = false;
return true;
}
else if(IsMember == "Non-Member")
{
document.getElementById("member").checked = false;
document.getElementById("nonMember").checked = true;
return true;
}
else
{
return false;
}
}
在这方面的任何帮助将不胜感激。
如果可以将PHP变量传递到窗体的视图中,则可以简化代码。 代替:
<input type="radio" name="clubMember" id="member" value="Member" onload="return isClubMember();" onMouseDown="this._chckd = this.checked" onclick="if (this._chckd) this.checked = false; return validateClubInfo();" />Club Member
...加上大量的Javascript,只需执行以下操作:
<input type="radio" name="clubMember" id="member" value="Member" <?= $U_Club_Member == "Member" ? 'checked' : '' ?> ... /> Club Member
您还应该考虑简化Js。 直接在HTML中拥有一堆onclick / onMouseDown事件不是很容易阅读或编辑的!
相反,如果您使用的是jQuery,则可以使用以下事件:
$('#member').on('click', function() { ... });
$('#member').on('mousedown', function() { ... });
您可以使用php
进行复选框的自动检查和不检查
<input type = "checkbox" <?php if($isMember == 'Member') { echo "checked; "} ?>>
只需在input
添加checked
的属性,您可能要在这里参考
从onload
和代码中的if
除去return
(您不必这样做,但没有必要):
<form name="registration" action="accountSF.php" method="post">
<div id="leftSideForm"> <!-- Left side of the Registration Form -->
Are you a member of an attending clubs? <br />
<input type="radio" name="clubMember" id="member" value="Member" onload="isClubMember();" onMouseDown="this._chckd = this.checked" onclick="if (this._chckd) this.checked = false; return validateClubInfo();" />Club Member
<input type="radio" name="clubMember" id="nonMember" value="Non-Member" onload="isClubMember();" onMouseDown="this._chckd = this.checked" onclick="if (this._chckd) this.checked = false; return validateClubInfo();"/>Non Member<br /> <br />
<button type="submit" onclick="" style="width:100px;" >Save Changes</button>
</div> <!-- end of Left sideform -->
</form>
将是您的新HTML。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.