0

フォームへの入力を自動化するスクリプトの作成に取り組んでいます。埋めたい部分のサンプルはこちら:

<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 は、この問題を解決するために受け入れられます。

4

2 に答える 2

1

私があなたを正しく理解していれば、あなたはwith classに値timeWorkedTodayを入れたいと思っています。divUMenuTimeSheetElementDisplayValue

jQuery では、次のサンプル コードを使用します。

$(".UMenuTimeSheetElementDisplayValue").html(timeWorkedToday);
$(".UMenuTimeSheetElementDisplayValue").click();

jQueryで質問にタグを付けたので、jQueryを使用できると仮定しています

于 2013-05-07T15:05:47.370 に答える