我正在编写一个脚本,其中向用户提供了两个按钮“授予”和“撤销”。问题在于,这两个选项均已设置,并且“授予”按钮始终优先。

下面是示例代码

<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优先,因为它是最先出现的。

07-24 16:35