当前位置: 首页 > 面试题库 >

如何更改名称的字段 在AJAX驱动的页面中?

阮雅达
2023-03-14
问题内容

对于此目标页面(对不起,但是SO不允许超链接到62.0.54.118):

http://62.0.54.118/search?&q=42&oq=42&sourceid=chrome&ie=UTF-8&filter=0

,我想在<input>默认情况下使用用户脚本更改名称字段。

输入为:

<input class="gsfi" id="lst-ib" name="q" maxlength="2048" value="42"...>

我想将其更改为:

<input class="gsfi" id="lst-ib" name="&q" maxlength="2048" value="42"...>

也就是说,我想默认将输入的字段更改q为。&q``name

我尝试编写一个脚本,(不起作用):

// ==UserScript==
// @name     Normal Google Input
// @include  http://62.0.54.118/*
// @require  http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js
// @require  https://gist.github.com/raw/2625891/waitForKeyElements.js
// @grant    GM_addStyle
// ==/UserScript==
/*- The @grant directive is needed to work around a design change
    introduced in GM 1.0.   It restores the sandbox.
*/
waitForKeyElements ("input[name*='q']", changeLinkQuery);

function changeLinkQuery (jNode) {
    var oldName = jNode.attr ('name');
    var newName = oldName.replace (/\q/, "&q");

    jNode.attr ('name', newName);

    return true;
}

另外,该页面是Ajax驱动的页面。

请修复错误的脚本或帮助我编写另一个脚本,谢谢。

更新: 我通过将脚本的一行更改为来解决了部分问题:

var newName = oldName.replace (/\q/, "&q");

var newName = oldName.replace (/q/, "&q");

然后我的脚本效果更好。感谢@Gerard Sexton提出的建议。

但是现在出现了一个新错误,该页面的AJAX 的waitForKeyElements回调设置return true;为,它添加&不间断。

它将导致该字段为name="&&&&&&&&&q",等等。

我该如何解决?


问题答案:

如果输入名称q本身就是just ,则只需将waitForKeyElements调用更改为:

waitForKeyElements ("input[name='q']", changeLinkQuery);

这样它就可以 精确 查找q,而不是在字符串中的任何位置查找aq。

如果这不 完全是 该名称<input>,请在下面评论。



 类似资料:
  • 问题内容: 我正在尝试像SQL中的别名一样更改DRF序列化器中的“模型”字段名称。我尝试了不同的方法,但无法成功。 models.py serializers.py 我也曾尝试在Django Queryset中添加别名,但无法更改。 更新 这是我面临的例外 / ViewName /’模块’对象上的AttributeError没有属性’Field’ 我怎样才能做到这一点? 问题答案: 序列化程序字段

  • 问题内容: 我正在使用杰克逊将我的对象转换为json。该对象具有2个字段: 由于我想将其与jQuery自动完成功能一起使用,因此我希望“ id”在json中显示为“ value”,在“ name”中显示为“ label”。杰克逊的文档不明确这一点,我已经想尽注释,甚至远程好像它做什么,我需要,但我不能让显示为,并显示为在JSON。 有谁知道该怎么做或是否可能? 问题答案: 您是否尝试过使用@Jso

  • 问题内容: 我想更改Python字典中条目的键。 有没有简单的方法可以做到这一点? 问题答案: 只需2个步骤即可轻松完成: 或第一步: 如果未定义,它将引发。请注意,这 将 删除。

  • 我正在尝试创建一个方法,对象被传递到该方法,并读取所有字段,以便为null且为String的字段被赋予“”的值。 现在问题出现在我的课堂上。我有这个模型: 我做了这个方法:private ObjectMapper obMapper=new ObjectMapper();

  • 问题内容: 我通过重命名应用程序的文件夹,导入及其所有引用(模板/索引)来更改了Django中应用程序的名称。但是现在当我尝试运行时出现此错误 如何调试和解决此错误?有什么线索吗? 问题答案: 请按照以下步骤在Django中更改应用的名称: 重命名项目根目录中的文件夹 更改为你的应用程序的任何引用他们的依赖关系,即应用程序的文件。 使用以下命令编辑数据库表: 同样,如果你有模型,则必须重命名模型表

  • 问题内容: 我想遍历一个表列表。对于每个表,我想运行一个更新查询。 伪代码: 问题答案: 感谢Harpo的回答。我已经使用该想法来构建以下sql语句。我们有许多表50+,它们都具有相同的数据类型(员工ID),但字段名称可能不同。因此,根据表名称,要更新的字段将有所不同。我实际的WHERE和SET语句比本示例要复杂得多,但这对这个问题并不重要。 我首先创建一个临时表来存储要更新的表/字段。 然后,我