php表单的提交方法有什么,php – 确定哪个表单已提交的最佳方法是什么?

目前,当我设计表单时,我喜欢将提交按钮的名称保持等于表单的id.然后,在我的php中,我只是执行if(isset($_ POST [‘submitName’]))以检查表单是否已提交以及表单已提交.

首先,这种方法有任何安全问题或设计缺陷吗?

我遇到的一个问题是当我希望用javascript覆盖我的表单时,为了向用户提供更快的验证.例如,虽然我显然需要保留服务器端验证,但是如果在输入模糊时内联显示错误消息,则对用户来说更方便.此外,在单击提交按钮后提供整个表单验证会很好.

因此,当用户单击表单的提交按钮时,我将停止默认操作,进行验证,然后尝试重新设置传统提交功能(如果验证通过).为了做到这一点,我使用的是form.submit()方法,但不幸的是,这并没有发送提交按钮变量(因为它应该可以调用form.submit()而不需要点击任何按钮).这意味着我的PHP脚本无法检测到表单已提交.

解决这个问题的正确方法是什么?似乎标准解决方案是在传递验证时向表单中添加隐藏字段,其具有表单id的名称.然后当调用form.submit()时,它将被传递以代替提交按钮.但是,这个解决方案对我来说似乎非常不合适,所以我想知道我是否应该:

a)使用另一种方法来检测哪个表单已经提交,而不依赖于传递提交按钮.如果有的话有什么替代方案?显然,从一开始就拥有一个额外的隐藏领域并不是更好.

b)使用另一种Javascript解决方案,它允许我保留我的非Javascript设计.例如,form.submit()是否有替代方法可以传递额外的数据?

c)将其吸收,然后使用Javascript插入隐藏字段.

更新:

我已经接受了正确的答案,但我只想澄清我的错误,这样对其他人更有帮助.我使用Mootools,我非常天真地相信,当我使用addEvent(‘submit’…)时,我需要立即调用event.stop()以防止提交.实际情况并非如此,只有在验证失败时我才能调用event.stop().否则,像往常一样,默认提交被触发,并且使用form.submit()变得完全没必要.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值