为了账号安全,请及时绑定邮箱和手机立即绑定

为什么 onsubmit 事件处理程序在 php 解释器中不起作用

为什么 onsubmit 事件处理程序在 php 解释器中不起作用

PHP
倚天杖 2021-07-05 08:01:15
我正在阅读学习 PHP、MySQL 和 Javascript 第 4 版,在第 16 章中我遇到了一个问题。Onsubmit 事件处理程序在<?php ... ?>(PHP 解释器)中不起作用,而没有它它也能正常工作。我错过了什么吗?我删除了部分代码以显示问题<?phpecho <<<_END    <!DOCTYPE html>        <html>            <head>                <title>An Example Form</title>                <style>                    .signup {                        border:1px solid #999999;                        font:  normal 14px helvetica;                        color: #444444;                    }                    </style>                <script>                    function validate(form) {                        fail  = validateForename(form.forename.value)                        if(fail == "")   return true                        else { alert(fail); return false }                    }                    function validateForename(field) {                        return (field == "") ? "No Forename was entered.\n" : ""                    }                </script>            </head>            <body>                <table border="0" cellpadding="2" cellspacing="5" bgcolor="#eeeeee">                    <th colspan="2" align="center">Signup Form</th>                    <form method="post" onsubmit="return validate(this)">                        <tr><td>Forename</td>                            <td><input type="text" maxlength="32" name="forename"></td>                        </tr>                        <tr><td colspan="2" align="center">                            <input type="submit" value="Signup"></td>                        </tr>                    </form>                </table>            </body>        </html>_END;?>使用此代码,即使我提交空表单,javascript 警报功能也不会显示任何警报。
查看完整描述

1 回答

?
茅侃侃

TA贡献1842条经验 获得超21个赞

您必须将换行符转义\n两次,否则您的 HTML 输出将不会像预期的那样:

return (field == "") ? "No Forename was entered.\\n" : ""


查看完整回答
反对 回复 2021-07-09
  • 1 回答
  • 0 关注
  • 176 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信