PDA

View Full Version : How to call onClick Javascript function in VBA



mackypogi
05-12-2015, 10:40 PM
Hi Experts!

In a manual process, when I click the save button, it will pop-up a confirm() javascript function, so I need to click the "OK" to proceed. I am automating an upload function in a web page.
I have a problem executing an onclick function in a web page using VBA.
see below the javascript code of the "save" button.

<input type="submit" name="cmdsave"
value="Save" onclick="return submitbutton_click();"
id="cmdsave" class="button" style="width:50px;" />&nbsp;
I have no problem in clicking the "save" button, I can do that using code below


Set ElementNameV = HTMLDoc.getElementsByName("cmdsave")
ElementNameV(0).click

The problem is when I click the "save" button, the confirm pop-up will appear and the macro will stop running from there unless the pop-up had been pressed.
and so I came up in another solution removing the pop-up message using the code below.


ElementNameV(0).removeAttribute ("onclick")
ElementNameV(0).setAttribute "onclick", "return true"
ElementNameV(0).click

Using that code, I am able to attach the attachment without any problem, the pop-up is gone and I am able to click save.
But the problem is, I am able to attach the file but it is not uploading in the site. Then when I review the HTML code of the web page.
using the onClick function it calls the submitbutton_click(); Javascript function, and the code for that is below


function submitbutton_click() {
document.getElementById('FileAttachement2_hdnButtonFlag').value = "SAVE";
var submitbutton = document.getElementById('cmdDownSave');
var uploadobj=document.getElementById('FileAttachement2_Uploader1');
if(!window.filesuploaded)
{
if (!ConfirmSave()) return false;
if(uploadobj.getqueuecount()>0)
{

uploadobj.startupload();
}
else
{
//var uploadedcount=parseInt(submitbutton.getAttribute("itemcount"))||0;
//if(uploadedcount>0)
//{
return true;
//}
//alert("Please browse files for upload");
}
return false;
}
window.filesuploaded=false;
return true;
}



function ConfirmSave()
{
var Ok = confirm('Are you sure all Documents and Information are attached and correct before saving?');

if(Ok)
return true;
else
return false;
}

Reviewing the javascript codes, I think the upload will only run when I execute the javascript function "uploadobj.startupload();" but then I had no success in running the javascript function.

here are the codes I have tried so far:


Call HTMLDoc.parentWindow.execScript("submitbutton_click();") '//this one doesn't worked
Call HTMLDoc.parentWindow.execScript("uploadobj.startupload();") '//doesn't worked also


Re Post in : http://www.mrexcel.com/forum/newthread.php?do=newthread&f=10
http://www.excelforum.com/showthread.php?t=1082347&p=4071079

mackypogi
05-13-2015, 07:10 PM
Hello? any suggestion from the experts?