Swa*_*til 1 drupal drupal-7 drupal-ajax
我在文本字段上编写了ajax回调,并在模糊事件上调用它.
但是在它进行ajax回调之前,我想检查textfield不为空的条件.
所以我想,如果textfield不为空,则调用ajax回调,否则不应该调用它.
提前致谢
form_example是我的模块名称
表格控制
$form['price_form']['item'] = array(
'#type' => 'textfield',
'#title' => 'Item Name?',
'#size' => 10,
'#maxlength' => 25,
'#id' => 'nameId',
'#required' => TRUE,
'#ajax' => array(
// #ajax has two required keys: callback and wrapper.
// 'callback' is a function that will be called when this element changes.
'callback' => 'form_example_simplest_callback',
'wrapper' => 'listDiv',
'effect' => 'fade',
),
'#autocomplete_path' => 'examples/form_example/item_name_autocomplete_callback',
);
Run Code Online (Sandbox Code Playgroud)
JS代码
(function($){
$(document).ready(function(){
alert('Hi, Javascript successfully attached');
Drupal.behaviors.form_example = {
attach: function (context, settings) {
// Overwrite beforeSubmit
Drupal.ajax['nameId'].options.beforeSubmit = function (form_values, element, options) {
alert('dsf');
}
}
};
});
})(jQuery);
Run Code Online (Sandbox Code Playgroud)
我打印测试警报.我尝试了它的名字和它的身份但没有得到警报.我得到了低于警报,所以js包含罚款.
alert('Hi, Javascript successfully attached');
Run Code Online (Sandbox Code Playgroud)
api形式的ajax实现允许您指定将在提交之前运行的'beforeSubmit'处理程序.根据这个:http://malsup.com/jquery/form/#options-object如果该函数返回false,则不会提交表单.
您应该能够添加一个beforesubmit处理程序,如:
Drupal.behaviors.MyModule = {
attach: function (context, settings) {
// Overwrite beforeSubmit
Drupal.ajax['your_element'].options.beforeSubmit = function (form_values, element, options) {
// check the textfield isn't blank then return false;
}
}
};
Run Code Online (Sandbox Code Playgroud)