[英]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.