作者nottt (无)
看板Web_Design
标题Re: [问题] js 更改按钮执行的判断结果
时间Wed Feb 22 18:50:36 2017
※ 引述《revo3512 (brands)》之铭言:
: 版上各位前辈们好:
: http://codepen.io/anon/pen/GWKoZW (code在此)
: 爬文说location.assign可以指定....在按完按钮後到连接到指定page, 但发现好像不是
: 每个网站都可以显示出来(至少在codepen中,连w3c可以,连yahoo、google会空白)
: →如果想要按下 "加入会员" 先判定表格是否有填写好,ture 直接连到google首页,
: fause 则是停留在原本表单画面,该怎麽写呢?
: 先谢谢大家>"<
有关表单的部分,不建议直接用js导向其他页面
表单正常的用法是在form标签里面写上要前往的後端程式网址,
後端程式利用http post传来的资料,接收变数後做处理(通常是写入资料库)
form标签的用法可以参考w3c
https://www.w3schools.com/tags/att_form_action.asp
html第6行的<form>应该改成类似这样,在action内填写要连去的网址
<form action="/action_page.php" method="post">
另外,html表单要传送的话,有一个type="submit"可以使用,
预设的图形是按钮,按下去就会把表单送到action的网址
input要改成以下这种方式较好
<input type="
submit" value="加入会员">
你可能会发现input里面的onclick="Send()"不见了,因为不建议放那边
单纯在input的按钮上加onclick无法完全侦测到表单送出的事件
例如键盘的使用者,可以透过键盘的enter键直接触发送出表单,
又或是单纯用键盘的tab切换栏位,最後再用enter去按加入会员的按钮,
以上两者都可以回避input onclick事件
建议参考w3c的用法,把验证的js放在form标签上
https://www.w3schools.com/js/js_validation.asp
<form name="myForm" action="/action_page.php"
onsubmit="return validateForm()" method="post">
至於判断表单有没有填好,如果只是要检查必填栏位或是长度什麽的,
不用自己写,可以直接套用老牌的jQuery Validation Plugin
详细内容可以参考这篇台大计中的教学
http://www.cc.ntu.edu.tw/chinese/epaper/0033/20150620_3307.html
最後的最後,除了前端靠js挡以外,後端也要验证资料
前端验证防君子,後端验证防小人,不然很容易就被injection类的攻击打爆了
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 218.187.98.220
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Web_Design/M.1487760640.A.0AA.html
1F:推 Piedastar: 推 02/22 20:46
2F:推 revo3512: 谢谢nottt大! 会这样写是因为这个page是串google excel 02/23 09:15
3F:→ revo3512: 填写的资料会传送到google excel 自动填入,这部分也是 02/23 09:16
4F:→ revo3512: 可以这样写吗? 02/23 09:16
6F:→ revo3512: 在google apps script建立好一个自动传值到excel的程式 02/23 09:18
7F:→ revo3512: 在html上写上form跟input後送出,会把资料送到excel中 02/23 09:19
8F:→ revo3512: 本来的做法是...送出後会出现 result=true 02/23 09:20
9F:→ revo3512: 但我想改的是送出时验证栏位是否有填写,送出後直接跳转 02/23 09:20
10F:→ revo3512: google首页~ 02/23 09:20