2014-11-27 3 views
0
When the user types the input in the dojotype="dijit.form.DateTextBox" as "Abcd" its shows the value entered is not valid.but its allowing the user to submit the form without any issues. 
    I wanna disable the submit button if invalidmessage attribute of datetextbox shown up. 

Я пытаюсь реализовать эту функцию, используя приведенный ниже код; Тем не менее я не могу получить функциональность datatextbox.on не запускает. Я новичок в dojo.Kindly помочь мне в этом.Отключить кнопку отправки, если dijit.form.DateTextBox недействителен

function validateSubmit(){ 
     alert('validate'); 
     var dateTextBox = dijit.byId("fromDedDate").get('value'); 
     alert('dateTextBox value '+dateTextBox); 
     var dateTextBoxId = dijit.byId("fromDedDate"); 
     alert('dateTextBox id '+dateTextBoxId); 
     var submitButton = document.getElementById('search'); 
     alert('submitButton '+submitButton); 
     dateTextBox.on('change', function(e){ 
     var result = dateTextBox.validate(); 
     alert('result'); 
     }); 
} 

    <form:input 
        path="deductionSearchFilter.deductionDateFrom" size='20' 
        id="fromDedDate" dojotype="dijit.form.DateTextBox" 
        onchange="dijit.byId('toDedDate').constraints.min = arguments[0];" 
        size="10" style="width: 114" 
        title="A single Deduction Date can be entered in the From/To fields or a range of Deduction Dates can be entered to search multiple days." /> 
    <td align='center'><input id="search" onclick="validateSubmit();" type="submit" name="Search" 
        value="Search" class="button" 
        title="View the results of search" /> 
       </td> 

ответ

0

Вы можете подключиться к событию изменения с вашего dateTextBox и подключить обработчик. Следует отметить, что это не помешает отправке формы при вводе пользователем.

var dateTextBox = registry.byId('dateTextBox'); 
var submitButton = registry.byId('submitButton'); 
dateTextBox.on('change', function(e){ 
    var result = dateTextBox.validate(); 
    submitButton.set('disabled', result); 
}); 

Если вы хотите больше контролировать свои формы, я бы порекомендовал обернуть ваш элемент формы в форме или форме/форме. Проверьте примеры: http://dojotoolkit.org/reference-guide/1.10/dijit/form/Form.html.

+0

Спасибо за ур ответить – Priya

+0

@ Varsha Снова: Это не путь к Stackoverflow. Лучше, чем просто сказать, что вы принимаете ответ и выставляете его. Просто хотел добавить, что похоже, что вы используете старую версию додзё. Например, «dojotype» должен быть «data-dojo-type» и btw: когда вы пишете свои собственные виджеты (позже), вы можете использовать data-dojo-attach-point = «submitButton» в своих шаблонах, а затем registry.byId (' submitButton ') будет this.submitButton ... – sebilasse

+0

Спасибо за вашу помощь.И dono, как подключить dateTextBox.on (' change ', function (e) {} с dojotype = "dijit.form.DateTextBox". im пытается его не работать. Любая помощь будет оценена. – Priya

Смежные вопросы