我正在编写一个脚本,其中向用户提供了两个按钮“授予”和“撤销”。问题在于,这两个选项均已设置,并且“授予”按钮始终优先。
下面是示例代码
<form name="form_access" id="form_access" action="" method="POST" class="access">
|
|
|
<input type="hidden" name="accessaction" value="Grant Access"/>
<input type="hidden" name="revokeaction" value="Revoke Access"/>
<a id="_access_btt" class="button" href="#">Grant Access</a>
<img class="ajaxload" style="display:none;" id="ajaxld" src="images/ajax-loader.gif"/>
<a id="_revoke_btt" class="button" href="#">Revoke Access</a>
<img class="ajaxload" style="display:none;" id="ajaxld1" src="images/ajax-loader.gif"/>
</form>
最佳答案
为何不使用单个隐藏元素,而不是使用两个隐藏元素?
例如:您可以使用:
<input type="hidden" name="accessPermission" value=""/>
并根据用户单击的按钮,在javascript的帮助下,您还可以设置此操作的值:
document.form_access.accessPermission.value = "Revoke Access"
和
document.form_access.accessPermission.value = "Grant Access"
然后提交表格!
因此最后,您只需在PHP中检查$ _REQUEST ['accessPermission']值,
并且您将获得为隐藏表单元素accessPermission设置的任何值:
如果其值为“撤销访问”,则将获得$ _REQUEST ['accessPermission']作为“撤销访问”
如果其值为Grant Access,则将获得$ _REQUEST ['accessPermission']作为“ Grant Access”
因此,最后,您可以将表单构造为:
<form name="form_access" id="form_access" action="" method="POST" class="access">
|
|
|
<input type="hidden" name="accessPermission" value=""/>
<a id="_access_btt" class="button" href="javascript:document.form_access.accessPermission.value = 'Grant Access'">Grant Access</a>
<img class="ajaxload" style="display:none;" id="ajaxld" src="images/ajax-loader.gif"/>
<a id="_revoke_btt" class="button" href="javascript:document.form_access.accessPermission.value = 'Revoke Access'">Revoke Access</a>
<img class="ajaxload" style="display:none;" id="ajaxld1" src="images/ajax-loader.gif"/>
</form>
并且设置了这两个值是因为,它们实际上是由行专门设置的:
<input type="hidden" name="accessaction" value="Grant Access"/>
<input type="hidden" name="revokeaction" value="Revoke Access"/>
Grant Action优先,因为它是最先出现的。