[i]Hey Leute,[/i]
Ich habe ein kleines kompliziertes problem bei dem ich hoffentlich ein wenig Erleuchtung von euch bekomme :idea:
Sorry schon mal das es relativ viel Text/Quellcode ist.
Ich Navigiere mich durch den IE Explorer und klicke auf den Button "Apply" (siehe Code)
[i]Hiermit kann ich den Apply button auch anklicken[/i]
[code]Set level = ieApp.Document.getElementById("ApplyFilter")
If Not level Is Nothing Then
level.Value = "Apply"
level.Click
End If[/code]
[i]Quellcode Apply Button[/i]
[code]<td align="left"><input type="button" name="ApplyFilter"
width="16" height="15" border="0"
onclick="javascript:applyFilter('CreateFilter.do?mode=applyFilter&screenType=AWBScreenFFLS&applyReset=filterapply');"
style="cursor: hand" value="Apply"
></td>[/code]
Beim klicken des Apply Buttons, taucht leider ein art PopUp Message auf die nach einer Bestätigung verlangt.(Siehe Screenshot)
[URL=http://www.directupload.net][img]http://s14.directupload.net/images/130815/9gwk6ujf.jpg[/img][/URL]
Ich würde diese Message gerne schließen wollen bzw. den OK button klicken lassen so das mein programm weiter laufen kann.
Ich vermute mal das diese PopUp/displayMessage von dieser Java Function kommt.
[code]function processAjaxApplyFilterResponse(msg)
{
var jsonData = eval( "(" + msg + ")" );
if(jsonData.filterApply == "true")
{
displayMessage("Selected filter(s) applied successfully");
reloadRTDScreen('true');
}
} [/code]
Leider habe ich keine Idee wie ich diese Umgehen kann bzw. ansteuern kann.
Meine jetzigen erfolglosen Ideen/Versuche (ohne zu wissen was die eigentlich machen)
- ieApp.Document.parentWindow.execScript "reloadRTDScreen('true');return true"
- ieApp.Document.getElementById(isRefresh).Value = True
- oldConfirm = window.confirm;
window.confirm = function (msg) { return true; };
- window.confirm = oldConfirm;
oldConfirm = undefined;
- SendKeys "%{F4}"
- SendKeys "{ENTER}"
- Public WithEvents IE1 As InternetExplorer
Ich hoffe Ihr könnt mir Helfen. (Unten noch mal die Ganze Java Quellcode Function - vielleicht nützt sie ja was)
DANKE schonmal im voraus :D
[code]function applyFilter(url)
{
var radioElementChecked=0;
var groupElementChecked=0;
var finalFtCount = 0;
var elemntArrFg = 'false';
var radioElement=document.getElementsByName("filterProfileIDList");
var groupElement=document.getElementsByName("groupIdList");
var filterIdElement = document.getElementsByName("groupFilterIdList");
var applyFilterList = new Array();
var iIndex=0;
for(var j=0; j< radioElement.length; j++)
{
if( radioElement[j].checked )
{
applyFilterList[iIndex] = radioElement[j].value;
iIndex++;
radioElementChecked++;
}
}
if ( radioElementChecked > 0 )
{
if ( radioElementChecked == 1)
{
finalFtCount=1;
}
else
{
finalFtCount=applyFilterList.length;
}
}
for(var j=0; j< groupElement.length; j++)
{
var ftId;
if( groupElement[j].checked == true)
{
groupElementChecked++;
var str = filterIdElement[j].value;
var ftTempList = new Array();
ftTempList = str.split(",");
for ( var temp=0; temp< ftTempList.length; temp++)
{
applyFilterList.push ( ftTempList[temp] );
}
//applyFilterList.push(str.split(","));
elemntArrFg = 'true';
}
}
if ( elemntArrFg = 'true' )
{
finalFtCount=applyFilterList.length;
}
if(finalFtCount == 0 )
{
//Start Add: QSMS 2.0: ST Defect#388 Fixed: Uday Mali: 13-Oct-2011
displayMessage("Please select a Filter or Group to apply");
//End Add: QSMS 2.0: ST Defect#388 Fixed: Uday Mali: 13-Oct-2011
}
else
{
//To Count how many filters are present
if( finalFtCount > 5 )
{
//Start Add: QSMS 2.0: ST Defect#388 Fixed: Uday Mali: 13-Oct-2011
displayMessage("Combination of maximum 5 Filters is allowed to apply");
//End Add: QSMS 2.0: ST Defect#388 Fixed: Uday Mali: 13-Oct-2011
}
else
{
url = url+ '&filterProfileIDList=' + applyFilterList;
for(var j=0; j< radioElement.length; j++)
{
radioElement[j].checked=false;
}
for(var j=0; j< groupElement.length; j++)
{
groupElement[j].checked=false;
}
url="/qsms/"+url;
jQuery.ajax({
type: "POST",
url: url,
success: processAjaxApplyFilterResponse
});
}
}
}
//End Modify Saurabh: QSMS2.0: Group and Filter Apply logic modified
function processAjaxApplyFilterResponse(msg)
{
var jsonData = eval( "(" + msg + ")" );
if(jsonData.filterApply == "true")
{
displayMessage("Selected filter(s) applied successfully");
reloadRTDScreen('true');
}
}
function resetFilter(url)
{
url="/qsms/"+url;
jQuery.ajax({
type: "POST",
url: url,
success: processAjaxResetFilterResponse
});
}
function processAjaxResetFilterResponse(msg)
{
var jsonData = eval( "(" + msg + ")" );
if(jsonData.filterReset == "true")
{
displayMessage("Filters successfully reset");
reloadRTDScreen('true');
}
}[/code]
|