当表单字段的名称带有括号时,如何使用 Javascript 强制光标指向特定的表单字段?

发布于 2024-09-28 09:43:53 字数 744 浏览 4 评论 0原文

我使用 CakePHP 作为我的框架。

在页面加载时,我想将光标强制到特定的表单字段,其中 name="data[Project][title]"

我尝试使用 javascript:

如果我将名称更改为不带括号的名称,则效果很好,但无法使用此表单名称。由于 CakePHP 处理表单数据的方式,我必须使用此表单字段名称。

是否有解决方法或其他简单的方法来强制光标移至此表单字段?

这是我当前拥有的代码(如果将“data[Project][title]”更改为“formField”,它就可以工作):

<body onLoad="document.searchForm.data[Project][title].focus();">

<form action="http://beta.industrialinterface.com/users/mainadd/" method="post" id="create-form" name="searchForm">

<input id="main-input" type="text" class="title-limit" name="data[Project][title]" onClick="this.value='';limitText(60);" onKeyDown="limitText(60);return true;" onKeyUp="limitText(60);return true;" />

I am using CakePHP as my framework.

On page load, I want to force the cursor to a specific form field where name="data[Project][title]"

I'm trying to use javascript:

This works fine if I change the name to something without brackets, but fails to work with this form name. I have to use this form field name because of how CakePHP processes my form data.

Is there a workaround or another simple way to force the cursor to this form field?

Here is the code I currently have (if you change "data[Project][title]" to "formField" it works):

<body onLoad="document.searchForm.data[Project][title].focus();">

<form action="http://beta.industrialinterface.com/users/mainadd/" method="post" id="create-form" name="searchForm">

<input id="main-input" type="text" class="title-limit" name="data[Project][title]" onClick="this.value='';limitText(60);" onKeyDown="limitText(60);return true;" onKeyUp="limitText(60);return true;" />

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

指尖上的星空 2024-10-05 09:43:53

示例代码?因为否则你可以简单地这样做:

document.getElementById('id_for_your_input').focus();

Example code? Because otherwise you could simply do:

document.getElementById('id_for_your_input').focus();
醉南桥 2024-10-05 09:43:53

如果您使用表单并有权访问表单元素,您可以

formelement['data[project][title]'].focus();

http://www.jsfiddle 处执行示例。网/fqgxv/

If you are using a form and have access to the form element you can do

formelement['data[project][title]'].focus();

example at http://www.jsfiddle.net/fqgxv/

淤浪 2024-10-05 09:43:53

您可以使用 getElementsByName() 来实现此目的。请注意,它返回一个数组。

前任:

<body onLoad="document.getElementsByName("data[Project][title]")[0].focus();">

You can use getElementsByName() for this. Note that it returns an array.

Ex:

<body onLoad="document.getElementsByName("data[Project][title]")[0].focus();">
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文