The Goal
- I am trying to use AJAX to post data (from a form on "Page A") to another page ("Page B")
- I want some content from "Page B" to be loaded into "Page A" within a specified div (#result).
What I've Tried
- I've created the relevant HTML and JS largely-based on the jQuery .post()documentation with some influence from jQuery AJAX submit form.
- I've tinkered with alert() to see where the process is failing.
- I've created a jsFiddle at http://jsfiddle.net/jhfrench/QjaTq/ (the HTML and JavaScript that follow are the same)
The Symptoms
- Page A is submitting directly to Page B, as if the form were submitting normally and there were no jQuery to intercede.
Theories
- the .submit()method is not attaching
- or it is attaching but the preventDefaultdirective within is not intercepting the traditional form submission
HTML
<form action="/echo/html/" id="form_edit_sensitivity" method="post" onsubmit="trimTextFields(this); return checkForm(this);" class="form-horizontal">
    <div class="control-group">
        <label for="p_sensitivity_type_id" class="control-label">Group</label>
        <div class="controls">
            <select name="p_sensitivity_type_id" size="1" title="Sensitivity Type" id="p_sensitivity_type_id">
                <option value=""></option>
                <option value="1">Politician</option>
                <option value="2" selected="selected">Celebrity</option>
            </select>
        </div>
    </div>
    <div class="control-group">
        <label for="p_expiration_dte" class="control-label">Expiration Date</label>
        <div class="controls">
            <input type="date" name="p_expiration_dte" id="p_expiration_dte" value="" data-datepicker-value="" min="1789-07-29" />
        </div>
    </div>
    <div class="control-group">
        <div class="controls">
            <label for="p_super_sensitive" class="checkbox">
                <input type="checkbox" id="p_super_sensitive" value="Y" name="p_super_sensitive">Feel like checking this box?</label>
        </div>
    </div>
    <div class="form-actions">
        <input type="hidden" name="some_value" value="1">
        <input type="hidden" name="data" value="<p>Text echoed back to request</p>">
        <input type="submit" value="Submit" class="btn btn-primary">
        <input type="reset" value="Reset" class="btn">
    </div>
</form>
<div id="result">We want to load the results within this div</div>
JavaScript
var trimTextFields = function () {
    alert('trim fields');
},
checkForm = function (incoming_form) {
    alert('custom validation');
};
/* attach a submit handler to the form */
$('#form_edit_sensitivity').submit(function (event) {
    /* stop form from submitting normally */
    event.preventDefault();
    confirm('we got this far');
    /* get some values from elements on the page: */
    var $form = $(this),
        data = $form.serialize(),
        url = $form.attr('action');
    /* Send the data using post */
    var posting = $.post(url, data);
    /* Put the results in a div */
    posting.done(function (data) {
        var content = $(data).find('#summary');
        $('#result').empty().append(content);
    });
});
To paraphrase the immortal words of the "Deranged Sorority Girl", I am about ready to C-Punt my computer over this one.
 
     
     
    