gpt4 book ai didi

javascript - 使用 PHP 设置焦点并选择错误的内容元素

转载 作者:行者123 更新时间:2023-12-02 16:51:31 25 4
gpt4 key购买 nike

我想设置焦点,然后为页面中的多种对象类型选择内容(如果是文本输入类型)。

在我的表单中,我有这些类型的对象:

  • 文本
  • 复选框
  • 广播

以及选择对象(这是一个下拉列表)。

我有一个包含这些对象的表单以及一个提交按钮。提交时,我对字段进行一一验证。如果我发现错误,我想将焦点设置在该对象上,所以我这样做:

在下面的代码中$id是对象的标识符,即 id属性。我的 PHP 页面的代码片段:

<?php

(...)

function SetFocus($id)
{
echo "Setting focus to: " . $id . "#";
echo "<script type='text/javascript'>";
echo "var elem = document.getElementById($id);";
echo "elem.focus();";
echo "elem.select();";
echo "</script>";
}

(...)
?>

<form ........>

<input name="personName" type="text" id="personName">

(...)

<?php

(...)

$errMsg = "";
$id = "";

if (!Validate($errMsg, $id))
{
ShowError($errMsg);
SetFocus($id);
}

(...)

?>

(...)

</form>

Validate函数被放置在一个包含PHP文件中,它根据被检查的元素及其对应的标识符(标识符对应于元素的id属性)通过引用返回自定义错误消息。如果验证失败,我会调用 ShowError在页面内显示消息(不是通过弹出窗口),然后我通过调用 SetFocus 将焦点设置在包含错误的元素中功能。

我的问题是SetFocus功能不起作用。出错的元素没有处理焦点,也没有被选择。

最佳答案

//echo "var elem = document.getElementById($id);";
echo "var elem = document.getElementById('".$id."');";

这可能是你的问题。您传递的 $id 不带引号。

关于javascript - 使用 PHP 设置焦点并选择错误的内容元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26576617/

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