javascript - jquery加载后在新窗口中按id附加innerHTML

标签 javascript jquery html impersonation window.open

我正在尝试使用 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/

相关文章:

javascript - 无法使用行号时如何查找错误位置

javascript - TSconfig:为每个ts文件夹编译一个新的js文件夹

jquery - 如何为固定表格标题设置克隆 tr 的宽度

javascript - PHP 获取文本区域的文件内容

javascript - CSS - 使卡片盒比实际更大

javascript - IFrame根据浏览器的 "height" "width"调整

javascript - chrome-har-capturer load 不是函数

javascript - jQuery 如果表单字段的值的一部分与数组中的值匹配,则

php - jQuery AJAX POST 到 PHP 问题

javascript - 如何在回发后保持对 asp 文本框或任何 html 元素的关注