Drupal code
function form_example_form($form, &$form_state)
{
drupal_add_js(drupal_get_path('module', 'form_example') . '/js/test.js');
$form['price_form'] = array(
'#type' => 'fieldset',
'#title' => t('Add Item'),
);
$form['price_form']['item'] = array(
'#type' => 'textfield',
'#title' => 'Item Name?',
'#size' => 10,
'#maxlength' => 25,
'#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',
),
);
$form['price_form']['textfields'] = array(
'#prefix' => '<div id="listDiv">',
'#suffix' => '</div>',
'#markup' => '',
);
$form['price_form']['price'] = array(
'#type' => 'textfield',
'#title' => 'Item Price?',
'#size' => 10,
'#maxlength' => 10,
'#required' => TRUE,
);
$form['price_form']['submit_button'] = array(
'#type' => 'submit',
'#value' => t('Click Here!'),
);
if (!empty($form_state['values']['item'])) {
$result = db_query("SELECT * FROM {item} where item_name='" . $form_state['values']['item'] . "'");
if ($result->rowCount() != 0) {
$form['price_form']['textfields'] = array(
'#markup' => 'Already exist',
);
} else {
$form['price_form']['textfields'] = array(
'#markup' => 'New Item',
);
}
}
return $form;
}
function form_example_simplest_callback($form, $form_state)
{
return $form['price_form']['textfields'];
}
On blur of item textfield,I am showing status of item whether item_name exist in database or not.But It is showing perfectly for first time.
As it replaces a form name with 'form_name-2' after first ajax callback,it is not working afterwards.
How can I resolve this issue?
Thanks in advance
$form['price_form']['textfields']
and in AJAX callback return$form['textfields']
instead? Or is it only a mistake made when you trimmed your code for upload here?