javascript - 如何查看表单元素是否未发布

标签 javascript php web

我有一个表格,其中电子邮件是可选的。要控制有一个复选框。如果未选中该复选框,则电子邮件文本框将被禁用,因此不会在提交时发布。但是,在下一页上,如果我有如下所示的代码,并且禁用了电子邮件文本框,则会出现错误。

if (isset($_POST['submit'])) 
{ 
    $_SESSION["email"]      = $_REQUEST['YourEMail'];
    ....
}

为了解决这个问题,我在提交之前以编程方式启用了禁用的电子邮件文本框,并将其值设置为空字符串。其代码如下所示。

document.getElementById('YourEMail').disabled = false
document.getElementById('YourEMail').value = ''

但是,仍然存在一个恼人的问题,那就是,如果用户返回到原始页面,电子邮件文本框就会被启用,因为我在提交表单之前启用它时出现了问题。但是,我希望在这种情况下禁用它。我怎样才能实现这个目标?或者,在下一页中,我如何看到电子邮件箱被禁用,因此甚至不尝试读取 $_REQUEST['YourEmail']

最佳答案

如果字段“#YourEMail”是可选的,您可以检查 PHP 中是否存在。无需使用 JS 启用/禁用该字段。

if (isset($_POST['submit'])) 
{
    if (isset($_REQUEST['YourEMail']) && !empty($_REQUEST['YourEMail'])){
        $_SESSION["email"] = $_REQUEST['YourEMail'];
    }
}

关于javascript - 如何查看表单元素是否未发布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38666988/

相关文章:

php - CS、JS、图片等静态文件应该放在Codeigniter文件夹结构的什么位置?

html - 在页面加载后创建的元素上使用微数据

javascript - 将数据字符串转换为对象?

javascript - 帮助处理 JavaScript 应用程序错误日志记录的策略

logging - 带有专用错误日志文件的 PHP-FPM

HTML/CSS 下拉菜单

html - 是否有必要将网站图标和苹果图标保留在网站根目录下?

javascript - Windows Phone 7 和 IE DOM 性能

javascript - Reveal.js 多路复用不起作用

php - 通过浏览器上传大文件(100 GB)