Programming Languages Hacks

Importanti regole per linguaggi di programmazione rilevanti come Java, C, C++, C#…

  • Subscribe

  • Lettori

    I miei lettori abituali

  • Twitter

Archive for the 'javascript' Category

Adapt/convert Microsoft Ajax events to JQuery

Posted by Ricibald on 22nd July 2011

It’s very useful to express everything in JQuery instead of ASP.NET AJAX events system: in this way we can use a lot of useful JQuery controls.

To achieve this just add this snippet of javascript code:

<script type="text/javascript">
	Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequest);
	Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequest);
	function BeginRequest(sender, args) {
		jQuery.event.trigger('ajaxSend');		
	}
	function EndRequest(sender, args) {   
		jQuery.event.trigger('ajaxComplete');		                             
	}
</script>

In this way you can capture standard JQuery event to obtain for example a modal progress feedback both in case of JQuery ajax POST and in case of ASP.NET UpdatePanel events:

<script type="text/javascript">
	$(document).bind("ajaxSend", function () {
		$("#loadingAjax").dialog({ modal: true });
	}).bind("ajaxComplete", function () {
		$("#loadingAjax").dialog("close");
	});
</script>

Posted in asp.net, javascript, jQuery | No Comments »

jQuery: HTTP POST with specific <input type=”submit”>

Posted by Ricibald on 19th April 2011

jQuery allows only to do a global form submit using

$("form").submit()

This method doesn’t allow to do a specific form submit when multiple <input type=”submit”> exists, like in many ASP.NET sites, where there are a single form with many buttons.

To achieve this and obtain an ASP.NET POSTBACK behavior simply use this snippet of jQuery code that builds a “submit simulation from input”:

// simulate submit from button "myButton"
var input = $("<input>").attr("type", "hidden").attr("name", $('#myButton').attr("name")).val("");
$('form').append($(input));
$('form').submit();

Posted in .net, javascript, jQuery | No Comments »

Reflection Ricorsiva di Oggetti Javascript

Posted by Ricibald on 5th March 2009

Spesso lavorando con javascript ci troviamo una variabile complessa di cui non sappiamo nulla. Sarebbe bello avere un autocompletamento che ci elenchi tutte le funzioni e le proprietà ma gli IDE per ora non ci vengono troppo di aiuto (se ne conoscete qualcuno ditelo!!).

Quindi risulta utile ispezionare la variabile per trovare tutte le proprietà e funzioni che questa variabile dichiara in modo ricorsivo. A questo scopo, riporto il codice che ho scritto che consente di fare questo “sporco lavoro”. Cosa ne pensate? Esiste modo di ottimizzarlo (a parte migliorie di output)?

function TraceMethodsAndProperties(obj) {
	var prefix = "";
	var result = TraceMethodsAndPropertiesRecursion(obj, prefix);
	copyToClipboard(result);
}

function TraceMethodsAndPropertiesRecursion(obj, prefix){
	//alert('gotta:' + prefix);
	var result = "";
	try {
		if(obj != null) {
			for (var s in obj)
			{
				var value = obj[s];
				var key = prefix + s;
				
				result += "---------" + key + '=' + value + ';\n\n'
				var newPrefix = key + '.';
				result += TraceMethodsAndPropertiesRecursion(value, newPrefix);
			}
		}
	} catch(e) {
		// eccezione affogata per il singolo elemento che non consente la scansione: vai al prossimo
	}
	return result;
}

function copyToClipboard(s)
{
	window.clipboardData.setData('Text', s); // solo IE
}

Esempio di utilizzo:

    var persona = getCarloRossi();
    TraceMethodsAndProperties(persona);
    // OUTPUT:
    // ---------Nome=Carlo
    // ---------Cognome=Rossi
    // ---------Indirizzo.Via=via roma
    // ---------Indirizzo.Civico=32
    // ---------Indirizzo.CheckValid=function checkValid(via) { return via != ""; }

Posted in javascript | 2 Comments »