gpt4 book ai didi

javascript - jquery在加载后在新窗口中通过id追加innerHTML

转载 作者:行者123 更新时间:2023-11-28 00:01:46 25 4
gpt4 key购买 nike

我正在尝试使用 jquery 来:

  1. 打开一个新窗口/标签(相同域,不同页面)
  2. 然后将文本添加到文本框 ( id = "BUpdates_SQL_Statement" )
  3. 然后单击此按钮:<input type="submit" value="Apply Changes" name="BUpdates_Submit" id="BUpdates_Submit">
  4. 然后关闭窗口

这是起始页中的 onclick 元素(我们称它为 www.mydomain.com/firstpage):

<li id="MainNav_Update"><span class="MainMenuText" onclick="runUpdateWindow();">Update</span></li>

这是我想在新窗口中编辑的区域(我们称之为 www.mydomain.com/secondpage)

<textarea id="BUpdates_SQL_Statement"></textarea>

<input type="submit" value="Apply Changes" id="BUpdates_Submit">
<a onclick="v$('BUpdates_Submit').click();return false;" href="javascript:void(0);"><span>Apply Changes</span></a>

旁注:v$('BUpdates_Submit').click();return false;"是另一个外部 js 文件,与我在这里尝试做的事情无关。这是我的 jquery:

   function runUpdateWindow() {
var updateWindow = window.open("www.mydomain.com/secondpage", "blank");
}
var updateSQL = 'UPDATE TABLE ...';

$(updateWindow).on("load", function (){
$("BUpdates_SQL_Statement", updateWindow.document).append(updateSQL);

$('BUpdates_Submit').trigger('click');
});

updateWindow.close();

www.mydomain.com/secondpage在新标签页中打开,但是 BUpdates_SQL_Statement应该是:

<textarea id="BUpdates_SQL_Statement">
UPDATE TABLE...
</textarea>

但它仍然是空白。

如果有任何意见,我将不胜感激。提前致谢!

最佳答案

据我了解,您想要做的是自动填写和提交表单,并选择了一种看似相当直接的方式来完成。不过,无论这是否有效,可能还有更简单的方法。

想想当打开其他页面、填写表格并按下提交时会发生什么。如果它是一个没有 JavaScript 干扰的普通 HTML 表单,您可能只会收到一个 POST 请求。如果我有这个表格,请说:

<form action="run-sql" method="post">
<textarea name="sql"></textarea>
<input type="submit" value="Run query">
</form>

当我用一些 SQL 提交它时,浏览器会向 run-sql 发送一个 POST 请求,其中包含一个参数 sql。从 JavaScript 发出 POST 请求相对简单,至少与自动化另一个网页相比是这样。从 JavaScript 发出 HTTP 请求通常称为 AJAX,幸运的是,jQuery 使用 its $.post function 使它变得容易.

那么如何使用它呢?在那个具体的例子中,它会像这样简单:

var mySQL = "select * from employees";  // e.g.
jQuery.post("run-sql", {sql: mySQL}, function() {
alert("Success!");
});

现在,有些表单并不像这样简单,但值得一试,看看您的表单是否如此简单。

关于javascript - jquery在加载后在新窗口中通过id追加innerHTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20930033/

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