Search code examples
javascriptjquerydatepickerjeditable

jEditable - How to bypass the submit in datepicker onselect event


I am using jeditable with datepicker and i wish to do some validation once user select a date before submit it to the database. I gone through the jeditable-datepicker.js and realized that the submission is triggered once onselect event happened. How can I include conditions in the event so invalid date wont be submitted to the database?

Here is my trial by using the onsubmit event:

 $('.expirydatepicker').editable('@(Url.Action("Edit", "Stock"))',
    {
        type: 'datepicker',
        indicator: 'saving...',
        event: 'dblclick',
        tooltip: 'Double click to edit...',
        style: 'inherit',
        width: ($('.datepicker').width() - 10) + "px",
        onsubmit: function (settings, td) {
            var tid = $(td).attr('id');
            //alert(tid);
            $.ajax({
                async: false,
                url: '/Stock/CompareDate',
                type: 'GET',
                data: { id: tid },
                success: function (result) {
                    if (result < 0) {
                        alert("Expiry dare cannot be earlier than storage date");
                        return onSelect(false);
                    }
                    else {
                        return true;
                    }
                }
            });
        }
    });

the jEditable-datepicker function :

/* attach jquery.ui.datepicker to the input element */
plugin: function( settings, original ) {
  var form = this,
      input = form.find( "input" );

  // Don't cancel inline editing onblur to allow clicking datepicker
  settings.onblur = 'nothing';

  datepicker = {
    dateFormat: 'D, dd M yy',
    onSelect: function() {
      // clicking specific day in the calendar should
      // submit the form and close the input field
      form.submit();
    },

I wish to know is there anyway I can either "stop" the onselect event if the input is invalid?? Hope can get some help here... thanks....


Solution

  • i get it done by not stopping the submission, but change the input value back to default value if validation failed. This is the only way I could get it done. Thanks!