2013-02-22 2 views
0
<script type="text/javascript"> 
$(document).ready(function() { 
    showHome(); 
}); 

function findTemplate() { 
var selectedIndustry = $("#industrySelected option:selected").text(); 
var selectedTemplate =$("#templateCode").val(); 
$.ajax({ 
    type: "post", 
    url: "/_layouts/TBSharePointProject/SharePointTestService.asmx/redirectUserToAppropriateTemplate", 
    contentType: "application/x-www-form-urlencoded", 
    dataType: "xml", 
    data: { industry: selectedIndustry, templateCode: selectedTemplate, checkList: "" }, 
    success: function (result) { 
     xmlStr = xmlToString(result); 
     xml = removeFirstAndLastLine(xmlStr) 
     myJsonObject = xml2json.parser(xml); 
     //alert(myJsonObject.eccn[0].eccnno); 

     $("#surveyScreen").empty(); 
     for(var i = 0; i <= myJsonObject.eccn.length; i++) { 

      $("#surveyScreen").append("<p><input id='" + myJsonObject.eccn[i].guid + "' type='checkbox' checked ='checked'>" + myJsonObject.eccn[i].eccnno + ": " + myJsonObject.eccn[i].title + "</input></p>"); 

     } 
     $("#surveyScreen").append("<br/><input type='button' id='goHome' value='Back'  onclick =\"javascript: showHome();\"/>"); 
    }, 
    error: function (result) { 
     alert('error occured'); 
    }, 
    async: true 
}); 


} 
//Converst xmlString to String 
function xmlToString(xmlObj) { 
if (navigator.appName == "Netscape") { 
    return (new XMLSerializer()).serializeToString(xmlObj); 
} 
if (navigator.appName == "Microsoft Internet Explorer") { 
    return xmlObj.xml; 
} 
} 

function removeFirstAndLastLine(xmlStr) { 
// break the textblock into an array of lines 
var lines = xmlStr.split('\n'); 
// remove one line, starting at the first position 
lines.splice(0, 2); 
// join the array back into a single string 
var newtext = lines.join('\n'); 
//Removes the last line 
if (newtext.lastIndexOf("\n") > 0) { 
    return newtext.substring(0, newtext.lastIndexOf("\n")); 
} else { 
    return newtext; 
} 
} 

function showHome() { 

$("#surveyScreen").empty(); 
$("#surveyScreen").append("<p>Do you have a saved checklist?</p>"); 
$("#surveyScreen").append("<p>Submission Code:<input type='text' id='checkListCode'/> </p>"); 
$("#surveyScreen").append("<p><input type='button' id='getCheckList' value='Get Saved  Checklist' onclick =\"javascript: findTemplate();\"/></p><br/><br/>"); 
$("#surveyScreen").append("<p>Industry</p>"); 
$("#surveyScreen").append("<select id='industrySelected'>"+ 
          "<option>Computer & Networking</option>"+ 
          "<option>Biotechnology</option>"+ 
          "Industry</select>"); 
$("#surveyScreen").append("<br/>Or"); 
$("#surveyScreen").append("<p>Template Code:<input type='text' id='templateCode'/> </p>"); 
$("#surveyScreen").append("<p><input type='button' id='getTemplate' value='Next'  onclick =\"javascript: findTemplate();\"/></p><br/><br/>"); 

} 

</script> 
<body> 
<div id="surveyScreen"> 
</div> 
</body> 

Может кто-нибудь объяснить мне, почему этот вызов функции работает в Firefox, но не IE, и что нужно сделать для его работы в IE.Функция Javascript не работает в IE, но работает в Firefox

Так что я обновил пост, чтобы показать больше моих code..some штук осталось ... и некоторые другие несущественны

+0

добавьте некоторую разметку. Его работы в моем IE –

+0

Каким элементом является 'surveyScreen'? – undefined

+0

@undefined Это не элемент, это идентификатор элемента. –

ответ

3

IE намного разборчивее, когда дело доходит до дублировать идентификаторы. Иды должны (конечно) быть уникальными, но firefox просто захватывает первый и продолжает. IE игнорирует попытки доступа к идентификаторам обломок.

Вы не публикуете свой HTML-код, но это направление, которое я бы посмотрел первым.

+0

Вот тест для этого: http://jsfiddle.net/cZTys/1/ –

0

Убедитесь, что вы не пропустили точку с запятой в любом месте до того, как вызывается эта строка кода. Я обнаружил, что отсутствующая полутолица (или любая другая ошибка) заставит IE перестать работать в месте ошибки, но он все равно будет работать в FF.

Ваш код отлично работает в IE 9 http://jsfiddle.net/eL2nU/

$("#surveyScreen").append("<p><input type='button' id='getTemplate' value='Next' onclick=\"javascript: findTemplate();\"/></p><br/><br/>"); 
Смежные вопросы