以编程方式调用onclick和onchange不能按预期工作
Call onclick and onchange programmatically don't work as expected
我正在编写一个脚本来自动填写表单。我想填充的部分的样本在这里:
<tbody><tr>
<td class="UMenuTimeSheetFirstCell">
<div class="UMenuTimeSheetElement UMenuTimeSheetElementEditable" onclick="_UMenuTimeSheetEditClick(this);">
<div class="UMenuTimeSheetElementDisplayValue" title="Nessuna descrizione">0.00</div>
<input type="text" class="UMenuTimeSheetElementEditValue UMenuTimeSheetElementEditValueM" taskid="1769" refdate="1/7/2013" onchange="_UMenuTimeSheetEditChange(this);" oldvalue="0" value="0"><input type="text" class="UMenuTimeSheetElementEditValue UMenuTimeSheetElementEditValueH" taskid="1769" refdate="1/7/2013" onchange="_UMenuTimeSheetEditChange(this);" oldvalue="0" value="0"><input type="text" class="UMenuTimeSheetElementEditValueShow" onfocus="_UMenuTimeSheetCheckFocus(this);" onchange="_UMenuTimeSheetEditChangeShow(this);">
<div class="UMenuTimeSheetElementEditDescCont" style="left: 55px;">
<div class="UMenuTimeSheetElementEditMinutesMode">
<table cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td>-</td>
<td class="UMenuTimeSheetElementEditMinutesModeSplitTitle">Ore</td>
<td class="UMenuTimeSheetElementEditMinutesModeSplit">+</td>
<td>-5<br>-10</td>
<td class="UMenuTimeSheetElementEditMinutesModeSplitTitle">Minuti</td>
<td>+5<br>+10</td>
</tr>
</tbody>
</table>
</div>
<div class="UMenuTimeSheetElementEditDesc">
<div>Descrizione:</div>
<textarea onchange="_UMenuTimeSheetEditChangeDesc(this);" oldvalue=""></textarea>
<div class="UMenuTimeSheetElementEditDescClose" onclick="_UMenuCancelPropagationOnClick(arguments[0], this); $(this).parents('.UMenuTimeSheetElementEditable').removeClass('UMenuTimeSheetElementEditMode');"></div>
</div>
</div>
</div>
</td>
<!-- more td tags -->
</tr></tbody>
我试着这样做来编辑它element=cell.getElementsByClassName("UMenuTimeSheetElementDisplayValue")[0]; //get the class where to place the value
e
element.innerText=timeWorkedToday;
_UMenuTimeSheetEditClick(element); //onclick
element.parentNode.onclick();
这不起作用。我还注意到,当我点击文本区域时,会发生一些变化。当我按enter键时,页面中的静态标签中会进行一些计算,元素中所做的更改会被还原。
如果用户输入它,正确的代码是什么来给出相同的结果?
更新:jquery可以解决这个问题
如果我理解正确,您想将值timeWorkedToday
放入UMenuTimeSheetElementDisplayValue
类的div
中。
$(".UMenuTimeSheetElementDisplayValue").html(timeWorkedToday);
$(".UMenuTimeSheetElementDisplayValue").click();
我假设你可以使用jQuery标记的问题与jQuery
你应该调用click而不是onclick
element.parentNode.click();
相关文章:
- jQuery dosn'内联函数不能按预期工作
- Javascript-将函数分配给变量dos'不能按预期工作
- JavaScript - 为什么加法赋值运算符不能按预期工作
- Node.js承诺q不能按预期工作
- 为什么 javascript 中的 for 循环不能按预期工作
- 为什么.on()在jquery中不能按预期工作
- Undercore模板没有'不能按预期工作
- javascript命令可以单独工作,但不能按顺序作为bookmarklet
- 为什么这个简单的 for 循环不能按预期工作
- 为什么我的Javascript函数不能按预期工作
- 为什么.size()不能按我认为的方式工作
- 否定字符不能按预期工作?^
- 为什么我的addClass removeClass和事件处理程序不能按预期工作
- .getElementById(“;)不能按要求工作
- three.js lookat()函数不能按我的需要工作
- 排序dgrid列不能按预期工作
- 控制器之间的数据共享不能按预期工作
- 创建由每个子数组的最大值组成的数组不能按预期工作
- 要求定义的模块不能按预期工作
- 以编程方式调用onclick和onchange不能按预期工作