我不知道JQuery,所以我希望有一种方法可以在纯Javascript中执行此操作.
我需要单击一个表行并获取该行中每个单元格的值.这是我的表的格式:
<table class='list'>
<tr>
<th class='tech'>OCB</th>
<th class='area'>Area</th>
<th class='name'>Name</th>
<th class='cell'>Cell #</th>
<th class='nick'>Nickname</th>
</tr>
<tr onclick="somefunction()">
<td>275</td>
<td>Layton Installation</td>
<td>Benjamin Lloyd</td>
<td>(801) 123-456</td>
<td>Ben</td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
无论如何还没有为每个单元格添加唯一的ID?
我有一些输入值包含在一堆div和一个表单中.我对js知之甚少,并希望在页面加载时使用greasemonkey来设置值.
以下显示了获取值的div和表单的顺序.
<div data-role="page" id="finalTest">
<div data-role="content">
<form class="cmxform" id="ftForm">
<div id="finalTestForOtherDiv" >
<div data-role="fieldcontain" class="special-spacing">
<div class="input-div">
<label id="finalTestBeforeAcTgrLabel" for="finalTestBeforeAcTg" data-insight="true"
class="mandatory" data-default="mandatory"><img class="label-image" alt="" src="../Images/icon-alert.png" />AC V (T/G):</label>
<input type="text" id="finalTestBeforeAcTg" name="finalTestBeforeAcTg" value="" style="width:100px; display:inline-block;"
data-bind="binder.BeforeAcTg" data-bind-action-when-hidden="Ignore" />
<span class="ui-content" style="padding-left:7px;">V</span>
<div class="error-message"><ul></ul></div>
</div>
Run Code Online (Sandbox Code Playgroud)
这是我尝试使用的脚本,但什么也没做.
// ==UserScript==
// @name Final Test
// @description Final test results
// @include https://techaccess.ad.qintra.com/WorkJobs/WorkJobs.aspx#finalTest
// ==/UserScript==
document.getElementById("finalTestBeforeAcTg").value = "0.00";
Run Code Online (Sandbox Code Playgroud) 所以我知道这与AJAX有关,但我已经阅读了一些主题并且不太了解我必须做什么.目前一切正常,但我必须刷新页面才能运行我的脚本.我的代码需要做些什么才能让它在没有刷新的情况下工作?
// ==UserScript==
// @name Job Aids
// @description Aid in closing tickets
// @include https://techaccess.ad.qintra.com/WorkJobs/WorkJobs.aspx*
// @namespace camzilla.net
// @version 1.1.20121128
// ==/UserScript==
var url = window.location.href.split(".aspx");
var page = url[1].toLowerCase();
if (page == "#finaltest") {
window.addEventListener ("load", finalResults, false);
} else if (page == "#threetoneslope") {
window.addEventListener ("load", toneSlopeResults, false);
} else if (page == "#codes") {
window.addEventListener ("load", closingComments, false);
} else if (page == "#cras") {
window.addEventListener ("load", crasResults, false);
} else if (page == "#jobinfo") …Run Code Online (Sandbox Code Playgroud) 这是页面上的按钮:
<a id="dispatchOnJobButton" class="ui-btn ui-btn-corner-all ui-shadow ui-btn-up-c" href="#" data-role="button" data-theme="c" data-disabled="false">
<span class="ui-btn-inner ui-btn-corner-all" aria-hidden="true">
<span class="ui-btn-text">Dispatch on next job</span>
</span>
</a>
Run Code Online (Sandbox Code Playgroud)
我需要Greasemonkey来点击它.我尝试了很多不同的方法,但似乎没有任何方法可以解雇它应该运行的任何函数.
var clickEvent = document.createEvent("MouseEvents");
clickEvent.initEvent("click", true, true);
document.getElementById('dispatchOnJobButton').dispatchEvent(clickEvent);
// also tried
document.getElementById('dispatchOnJobButton').click();
// and this
unsafeWindow.document.getElementById('dispatchOnJobButton').click();
Run Code Online (Sandbox Code Playgroud)
关于我可以尝试的其他事情的任何想法?