2010-05-24 5 views
0

У меня есть диалоговая форма, и когда я ее открываю, у меня есть кнопка «добавить задачу», я хотел бы сохранить это «имя», когда я открою форму из пустого но я хочу иметь кнопку «изменить эту задачу» при открытии уже существующей задачи.Различное имя кнопки при открытии диалога jquery

Я также хочу отправить форму с помощью этой кнопки, когда я нажимаю клавишу ввода, независимо от того, где я нахожусь на форме.

спасибо.

ответ

1
$('.ajouter-tache') 
     .click(function() { 
     if($(this).attr('id_tache')!=""){ 
      $('.ui-dialog-buttonpane button:eq(0) .ui-button-text').each(function(e, f){ 
       $(f).html('Modifier la tache'); 
      }) 
     } 
     else { 
      $('.ui-dialog-buttonpane button:eq(0) .ui-button-text').each(function(e, f){ 
       $(f).html('Ajouter une tache'); 
      }) 
     }; 
    }) 

Вот что я сделал, это работает, но, как я новичок и не потеряли времени, чтобы работать на JQuery это хреново, особенно избыточность селектора и каждый которым бесполезно (но я не знаю, как взять только этот элемент.)

0

Вам нужно будет добавить немного больше информации о том, как «редактировать эту задачу» будет работать, потому что существует несколько различных реализаций с серверной стороны на клиентскую сторону (заполняется синтаксическими формами ajax или нет?))

Если вы запустили свою действительную «отправку» на событие отправки, вы можете воспользоваться, когда пользователь нажимает ENTER в форме. (Помимо текстовой области, конечно)

<form id="myForm" onSubmit="return yourCoolSubmitFunction();" > 

или

$(function() { 
    $('#myForm').submit(function() { 
     // code here that can validate or simply 
     return true; // submit the form 
     // return false won't submit, which is good for validating input 
    }); 
}); 

Что касается текста кнопки, если форма заселяются как «форма редактирования» через ваш серверный код, то вы можете просто измените ярлык кнопки, а затем, когда вы создаете html в первый раз.

Если это ajax, вы можете обновить кнопку при загрузке данных формы.

Если я все еще не ударяю гвоздь на голову для ya, возможно, добавив элемент формы для проверки? например <input type="hidden" name="isEdit" value="1" />, если в режиме редактирования вы можете проверить? if($('#myForm input[name=isEdit]').val() == 1) ...

0

Ok, К сожалению, я не думаю, что мой код был необходим, но похоже, что это ^^

$("#dialog-form").dialog({ 
      autoOpen: false, 
      height: 560, 
      width: 400, 
      modal: false, 
      buttons: { 
       'Add task': function() { 
        $(".ajax").trigger('submit'); 
       }, 
       'Back': function() { 
        $("#dialog-form").dialog('close'); 
       } 
      }, 
      open: function() { 
       $(this).parents('.ui-dialog-buttonpane button:eq(0)').focus(); 
      }, 
      close: function() { 
       allFields.val('').removeClass('ui-state-error'); 
      } 
     }); 

$(".ajax").submit(
     function(e) { 
     var datas = $(this).serialize();   
     $.ajax({ 
      type: 'POST',  // envoi des données en POST 
      url: 'Planning.php?action=ajoutTache',  
      data: datas,  // sélection des champs à envoyer 
      success: function() { 
       $("#dialog-form").dialog('close'); 
       location.reload(); 
      } 
     }); 
     return false; // Pour empêcher le submit vers la page 'action' 
    }); 

Я хочу кнопку «добавить задачу», чтобы стать «редактировать задача», когда задача уже существует.

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