JQuery :: Asp.net Mvc 3 - Validate Only A Portion Of The Form When Doing An AJAX Callback?
Sep 23, 2009
I have a web page that has a few text boxes, and a dual list control. All of these data elements are for a particular entity. The form is for creating a new instance of this entity and saving it to the database. The dual list shows available people to use, and the user can move options from the available list to the selected list. All of this works perfectly when posted. There is a button at the bottom of the page to post the form.
To make things easy, I also want to include a hidden "form" that lets the user add a new person to the dual list without leaving the page. They click an "Add New" link which shows a previously hidden div. In the div are two text boxes: "emailName" and "emailAddress", and a button to click called "Add".
When the user clicks the "Add" button I need to validate the emailName and emailAddress fields, and only those two fields. If they are valid then I will make my AJAX request and handle the return data by adding a new option to the dual list.
I am using a dropdown box with 6 options. On change I want ajax to return part of an HTML/PHP page that corresponds to one of the 6 questions. I was trying to put and if statement on the return page to determine the part that I wanted but I didnt work. I rather not create 6 HTML/PHP files for each of the options. Here is part of the CODE
I'm having troubles with an existing J2EE application (which uses Dojo) and in which I'm gradually introducing jQuery. The specific issue is with the malsup Form plugin and the JSON returned from a form submission: the error callback is always called, regardless of what happens on the server side, and the error is always "parsererror". I'm using jQuery 1.4.2 and the 2.45 version of the malsup Form plugin. For example, given the following code:
$(document).ready(function() { var options = { dataType: 'json',[code]....
the server receives the submission and handles it without errors, then in the browser I always get the same alert from the processAddressEditSubmitError() function, with an "Invalid JSON" message:
today I updated my Firefox from 3.5 to 4.0b3 and it seems that the AJAX success callback is not longer fired. Firebug shows the correct response but the function is never called. Is this a Problem of the FF Beta, or is Jquery responsible for this?
And i have gone through this forum and other forums for a simple fix ... since so many have had this problem..but i have nt found anything that seems to work hence i am posting this problem
I dont know what i am doign wrong i have used debugbar and i can seethe html content that comes back i have used fiddler and i see hte html content that comes back there....the xhr stat =200 so every thing is good..yet it doesnot replace the the content $("#updateroster").html(data).
The answer to my question is probably very simple, but I'm having trouble making this work.
I want to access a local csv file, rearrange it into an array, and use the data later in my script. The logic of this in psuedocode is [code]...
Since the massaged data are in the callback, they're not available at ***. I've tried declaring the variables outside the callback as shown, but this doesn't seem to work either. I'm thinking there must be an easier way. Is there?
<span style="font-family: courier new,monospace;">Hello all,</span><br style="font-family: courier new,monospace;"><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">I've recently started with jQuery because I wanted to use it for posting details from an login form to a PHP script which should return whether the user is authenticated ox not.</span><br style="font-family: courier new,monospace;"> <br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">For this I use $.ajax, because of it's flexibility and I prefer to use it in this implementation. Reading (jQuery docs and examples) and searching a lot did not solve me on one issue: fetching the data in the callback to the global scope.
What I noticed is that my error callback is fired every time. MyService.asmx: [WebMethod] public FileInfo[] GetFileInfo(int Id){ Proxies.ServiceRef.ServiceClient c = new Proxies.ServiceRef.ServiceClient(); return c.GetFileInfo(Id).ToArray(); }
The Jquery code where I am getting error: $.ajax({ url: url, data: jsonData, type: "POST", contentType: _I.contentType, timeout: _I.timeout, dataType: "serviceproxy", // custom type to avoid double parse dataFilter: function (jsonString, type) { .....
When I debug using firebug the response is as follows. {"d":[{"__type":"Proxies.AFARServiceRef.AssignmentInfo","ExtensionData": {},"AssignDate":"/Date(1317748587667) /","AssignFileName":null,"ClaimId":"PA026195","ClaimantName":"Rachel Weiss","FirstContactDate":"/Date(1302678000000)/","FirstContactTime":{"Ticks":433800000000,"Days":0,"Hours":12, "Milliseconds":0,"Minutes":3,"Seconds":0, "TotalDays":0.50208333333333333, "TotalHours":12.049999999999999, "TotalMilliseconds":43380000, "TotalMinutes":723,"TotalSeconds":43380},"Id":5257, "InspectionDate":"/Date(1302246000000)/","StatusId":1,"SubmittedCount":5, "UploadedCount":9}]}
I am trying to retrieve json data from the world bank's API, here's my code: <html> <head> <script src="[URL]"></script> <script type="text/javascript"> var theData; $(document).ready(function(){ $("button").click(function(){ $.ajax({ url: '[URL]', success: function(data) { /*this alert message does not show*/ alert(data); }, dataType: 'json' }); }); });
</script> </head> <body> <p></p> <button> Get World Bank Data </button> </body> The callback function is not executed but there is response when I checked it using firebug.
Is it possible to access the data arguments that are sent with the ajax function? Example:
$('#mycheckbox').click( function() { $.get( '/ajax.php', { nr: this.id }, function( data, textStatus ) { // Here I want to access the arguments I just sent with ajax.php
[Code]....
I could easily do $('#mycheckbox').attr('checked', 'checked'); but that is not what I want. Also I don't want to send the arguments with the response. Anyone knows a solution? I can't find it in the documentation of jQuery and not in the discussions here.
I have Javascript code that looks like this: var data1; $.post('save_search.php', formData, function(data) { data1 = data; }); jsonData = eval('(' + data1 + ')'); if (jsonData.return_status.search("successful") > -1) $('#msg_div').html("<font color=red>Search was saved</font>"); else $('#msg_div').html("<font color=red>Search was not saved. Try saving again.</font>"); "data1" comes up as undefined in the statement jsonData = eval('(' + data1 + ')');
Even though "data" is a perfectly correct JSON string *inside* the callback function! I can put the eval statement inside the callback function and it will form a good JSON object, like this: jsonData = eval('(' + data + ')'); I'm simply trying to get my Ajax response data to the outside of my callback function so I can use it in other Javascript code. I've never seen an ordinary function behave this way.
but I need to do a beforeSend callback, to fade out the current content, wait until it is fully hidden, and only then fade in with the received ajax request. But doing this, for example, with .ajaxSend, the content loads much quicker, then fadeOut is complete.
On a project I got stuck on this "problem". When you make a json (ajax) call. You also need a callback function. Which means I have to call the next $.getJSON within that callback function to read the next portion of data. In my opinion this is not very readable code...What I want is a nice and readable piece of code. Where you could just write it like this: var data1 = $.getJSON(..); var data2 =$.getJSON(..); I've found a solution here: [URL] (explains my problem perfectly). But it's not compatible with the getJSON story. Is there already a possibility to do this with the jquery library?
I'm using an .ajax() call to do a jsonp request to another domain. When the user is not logged in, however, the server will return a 401 error. Unfortunately, this causes my .ajax() call to fail _without_ calling the error callback. Is this a known bug? Here is my code:
I use the getJSON request to fill a select (with cities names) after the user have choosen his region.
I paste some code:
The problem is that callback is never called. I used firebug and i have seen that when i change region the getJSON function is called and my script (python) return this JSON:
Why my callback is not called? I can't even get the alert ('callback time!'). I thinked that my json could be broken, but firebug net console read and parse it very well, so i think is valid JSON.
I also tried to split up the function declaration from the getJSON request, but it's no use.
I am trying to use the jquery validation plugin with a modal form. When I click the 'Make a booking' button shown below there is no response. I guess there's something about the dom I am missing, which tends to be the case quite often.
so I'm trying to get a large amount of text back to my ASP script on the server. My large amount of text is the source to a web page, and I want to preserve the formatting on it, ie the indenting. Before any of this the only way I got stuff back to the server is with query strings. Now I'm pretty sure there's other ways to get data back to the sever besides query stings but I'm having trouble finding them. Can somebody point me in the right direction or tell me how?
I have been trying to figure this out for a few days now and have finally come to the point where I think I got it but may just need a little push to get what I want.
Heres the situation:
I have this function that uses ajax to access a database and returns the results in the responseText. That part is working fine, I have confirmed that the responseText contains the information that I need
**************code***************************************** //new ajax already created and assigned to the variable xmlhttp// var response_recieved = "some data"; function get_answer(Table_Name, Field_Name, Data_Type) {
[Code]....
As evidence by my posting, this is not working correctly. The variable response_recieved is coming up undefined outside of the callback function assigned to the onreadystatechangeproperty.
Based on the information that I have gathered online from various forums, I believe this issue has to deal with a problem with closure in the callback function assigned to onreadystatechange property. I don't think it has any. Based on the fact that there is no anonymous function in that function. But my problem is that the call back function is anonymous itself... I think???
get the variable response_recieved to survive outside of this function.
This could appear under Ajax, for example, you could have multiple objects that make a singular ajax call (say an RPC-like request) and you need to update the object that made the call during the callback with the result, but it doesn't have to be. The particular problem I'm thinking about happens to be ajax, particularly with multiple objects accessing the same ajax request (meaning I can't use a global or temporary variable).
One way that seems like it would work (just thinking about it in my head), is to create a hash, and to pass the key through the request, store the key in the response, and pick it up on the callback side. Then remove the item from the hash when done.
Im using JQuery with a html framework (YAML) and a content management system (SPIP) and am wondering, since both also come with inbuild IE fixes, especially for the png transparency, is it possible to disable the whole ifixpng portion in JQuery. Apart from it being kinda overkill to use 3 fixes, they dont mix and ifixpng seems to be the one giving me the hardest time (even tho it says it would disable previous fixes already applied, well, or maybe because of that). So can i disable it?
I'm trying to learn jQuery and am currently attempting to clone a div and then find and replace part of a string. The cloning part works, but I can't seem to get it to alter the text... In the html below, I'm trying to find all instances of issue-0, issue_0, or issue[0] (whether it's a name or an ID) and replace it with issue-1, issue_1, or issue[1] (depending on the character found after "issue")