On 6月11日, 上午9时55分, "Xu Jianbin" <[EMAIL PROTECTED]> wrote:
> Hi, all:
> I want to click a input button automaticlly inside mozilla. i wrote followed
> source:
>
> PRBool PSClickEvent::FireEvent(nsIContent *aNode)
> {
> nsCOMPtr<nsIDocument> doc = aNode->GetCurrentDoc();
>
> if (doc)
> {
> nsCOMPtr<nsIDOMDocumentEvent> tmpDocEvent =do_QueryInterface(doc);
> nsCOMPtr<nsIDOMEvent> tmpClickEvent;
> nsAutoString tmpEvent(NS_LITERAL_STRING("MouseEvents"));
> tmpDocEvent->CreateEvent(tmpEvent, getter_AddRefs(tmpClickEvent));
> nsCOMPtr<nsIDOMMouseEvent> tmpMouseEvent =do_QueryInterface(tmpClickEvent);
> nsAutoString tmpEventType(NS_LITERAL_STRING("click"));
> //type, bubble, cancel, view
> tmpMouseEvent->InitMouseEvent(tmpEventType, PR_TRUE, PR_TRUE, nsnull,
> //screen, client rect
> 0, 0, 0, 0, 0,
> //
> PR_FALSE, PR_FALSE, PR_FALSE, PR_FALSE,
> //
> 0, nsnull);
> nsCOMPtr<nsIDOMEventTarget> tmpEventTarget =do_QueryInterface(aNode);
> PRBool tmpEventRes;
> tmpEventTarget->DispatchEvent(tmpClickEvent, &tmpEventRes);
> return PR_TRUE;
> }
> return PR_FALSE;
>
> }
>
> html code:
> <html>
> <title> form-tt</title>
> <body>
> <form id="form_11" action="/cgi-bin/form-res.cgi" method="POST">
> <input id="mm_text" name="ddd" type="text" value="test_1">
> <input id="mm_button" name="ccc" type="button" value="Commit"
> onclick="counter = 10+1; mm_text.value = mm_text.value +counter;">
> <input id="mm_submit" name="sss" type="button" value="Submit"
> onclick="form_11.submit();">
>
> </form>
> </body>
> </html>
> I post a event to main thread to call PSClickEvent::FireEvent(nsIContent
> *aNode). if click commit button or Submit ,the result is OK.
> if click Submit after clicked Commit, at this point URL changed, mainthread
> excutes garbage collector to release js cache. i don't know why to release
> tmpClickEvent object in GC.
>
> I want to know how to trigger a click event on button ?
I think you have posted to a wrong group. Your question has little to
do with layout. It is better to post to the extension developing group
or the firefox group.
Regards!
_______________________________________________
dev-tech-layout mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-layout