[AJAX] - Script aanpassen - content in div
Ik heb een script gevonden op http://www.andreacfm.com/index.cfm
Onderstaand script zou ik graag dusdanig aangepast willen zien dat bij eerste load van de pagina ook inhoud in de div geladen wordt. Nu gebeurt het pas wanneer de gebruiker op een link klikt op de site. Hoe wordt dit dan? Heb al wat lopen proberen, maar krijg iedere keer javascript foutmeldingen.
(function($) {
//call teh method with options arguments
$.fn.ajaxContent = function(options) {
//extend to defaults
var defaults = $.extend({}, $.fn.ajaxContent.defaults, options);
// debug if required
if(defaults.debug == 'true'){
debug(this);
};
//Initilaize any instance looping on the match element
return this.each(function(){
//set local variables and extend to the metadata plugin if loaded
var $obj = $(this);
var href = $obj.attr('href');
var o = $.metadata ? $.extend({}, defaults, $obj.metadata()) : defaults;
// add binding change events on url if required
if(o.bind != ''){
var binds = o.bind.split(',');
for(var i=0; i < binds.length ; i++){
var queryString = setQueryString(binds);
var url = href + queryString;
$obj.attr({href:url});
if ($(binds).attr('type') == "radio" || $(binds).attr('type') == "checkbox"){
$('input[name=' + $(binds).attr("name") + ']').change(function(){
var queryString = setQueryString(binds);
var url = href + queryString;
$obj.attr({href:url});
});
}else{
$(binds).change(function(){
var queryString = setQueryString(binds);
var url = href + queryString;
$obj.attr({href:url});
});
}
}
}
var $target = $(o.target);
//bind the event
$obj.bind(o.event, function(){
// add loader if required
if(o.loader == 'true'){
if(o.loaderType == 'img'){
$target.html('<img src="' + o.loadingMsg + '"/>');
}else{
$target.html(o.loadingMsg);
}
}
//remove add current class
$('a.' + o.currentClass).removeClass(o.currentClass);
$obj.addClass(o.currentClass);
// make the call
$.ajax({
type: o.type,
url: $obj.attr('href'),
cache:'false',
beforeSend:function(){
if(typeof o.beforeSend == 'function'){
o.beforeSend($obj,$target);
}
},
success: function(msg){
$target.html(msg);
if(o.extend == 'true'){
$(o.filter,$target).ajaxContent({
target:o.ex_target,
type:o.ex_type,
event:o.ex_event,
loader:o.ex_loader,
loaderType:o.ex_loaderType,
loadingMsg:o.ex_loadingMsg,
errorMsg:o.ex_errorMsg,
currentClass:o.ex_currentClass,
success:o.ex_success,
beforeSend:o.ex_beforeSend,
error:o.ex_error,
bind:o.ex_bind
});
}
//if a callback exist pass arguments ( object,target and receive message)
if(typeof o.success == 'function'){
o.success($obj,$target,msg);
}
},
error: function(){
$target.html("<p>" + o.errorMsg + "</p>");
if(typeof o.error == 'function'){
o.error($target);
}
}
});
return false;
});
});
};
function debug($obj) {
if (window.console && window.console.log)
window.console.log('selection count: ' + $obj.size() + ' with class:' + $obj.attr('class'));
};
function setQueryString(binds){
var queryString = '?';
for(var i=0; i < binds.length; i++){
if ($(binds).attr('type') == "radio"){
queryString += $('input[name=' + $(binds).attr("name") + ']').fieldSerialize();
}else if($(binds).attr('type') == "checkbox"){
queryString += $(binds).attr("name") + '=' + $('input[name=' + $(binds).attr("name") + ']').fieldValue();
}
else{
queryString += $(binds).fieldSerialize();
}
if(i != binds.length - 1){
queryString += '&';
}
}
return queryString;
};
})(jQuery);
$.fn.ajaxContent.defaults = {
target: '#ajaxContent',
type:'get',
event:'click',
loader:'true',
loaderType:'text',
loadingMsg:'Loading...',
errorMsg:'An error occured durign the page requesting process!',
currentClass:'selected',
success:'',
beforeSend:'',
error:'',
bind:'',
debug:'false',
extend:'false',
filter:'',
ex_target:'',
ex_type:'get',
ex_event:'click',
ex_loader:'true',
ex_loaderType:'text',
ex_loadingMsg:'Loading...',
ex_errorMsg:'An error occured durign the page requesting process!',
ex_currentClass:'selected',
ex_success:'',
ex_beforeSend:'',
ex_error:'',
ex_bind:''
};
Er zijn nog geen reacties op dit bericht.