Html表单单选按钮设置为默认基于PHP变量进行检查
我试图设置一个单选按钮,根据PHP变量的结果进行检查(或不选中)。 我希望在加载页面时完成此操作,以便它需要来自用户的零交互。 我遇到的问题是我似乎无法得到一个单选按钮到检查状态。
以下是一些额外的信息
单选按钮有2个。 会员和非会员。 根据用户在注册时选择的内容,我的PHP变量将包含成员或非成员。 这是我想用来确定页面加载时应检查哪一个单选按钮的数据。 (AKA是变量=成员,成员单选按钮被检查=真等)
注意:我测试了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
的属性您可能想在这里参考
卸下return
从你onload
秒,从if
在你的代码(你没有,但他们没有必要):
<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。
链接地址: http://www.djcxy.com/p/56053.html上一篇: Html form Radio button set to checked by Default Based on PHP variable