gpt4 book ai didi

php - this.submit() 的范围?

转载 作者:行者123 更新时间:2023-11-30 18:31:16 24 4
gpt4 key购买 nike

我不熟悉 html、javascript 中的“this”范围。

因此,在查看一些 SO 帖子后,我发现“this”实体的“范围”可能存在细微差别。

这是我遇到问题的地方:(编辑:我帖子中的所有代码都位于文件 index.php 中)

<form enctype="multipart/form-data"
class="registerFormStyles" name="registerForm"
action="index.php" method="post">
<input type="text" value="Username">
<input type="text" value="Password">
<a href="#" name="newUserRegister" class="login-button-landing"
onclick="document.registerForm.submit();">Login</a>
<!-- onclick="this.submit();">Login</a> -->
</form>

此代码会导致重新加载带有上述表单的页面 --证据是输入的用户名和密码闪回到他们的默认值=“用户名”和值=“密码”当我单击“登录”按钮——“a” anchor ,因为它CSS样式,是一个符合UI准则的按钮在整个网站上都有效。

(我是否怀疑设计“提交”按钮的样式比其他人更可取?'没有javascript会中断'?是的,我愿意。我有选择吗这里?不。使用标准 type="submit"不是我必须的选项一起工作。)

尽管从视觉上很明显页面会在以下情况下重新加载我输入用户名、密码,然后单击“登录”——我这样做这在 php 部分的文件顶部:

  var_dump($_POST);

并且 POST 数组总是

所以我的问题是关于上面代码中“this”的范围:

  onclick="this.submit();"

“this”指的是形式还是指我在其中的“a” anchor 我在调用“this.submit”吗?

请注意,我还尝试通过以下方式完成表单的发布

onclick="document.registerForm.submit();"

这给出了相同的结果——“用户名”和“密码”字段返回到它们的默认值,但 POST 数组为空。

我需要做的就是在单击“a” anchor “登录”——我认为应该使用“this.submit()”工作——但是 POST 数组总是空的。为什么?

最佳答案

您缺少 name表单字段的属性。

<input type="text" name="user" value="Username">
<input type="text" name="pass" value="Password">

编辑另外,this指的是调用它的元素。在您的示例中,this会引用 <a>标签。

关于php - this.submit() 的范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9537130/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com