【问题标题】:Different button's name at the opening of jquery dialogjquery对话框打开时不同的按钮名称
【发布时间】:2010-05-24 13:47:36
【问题描述】:

我有一个对话框表单,当我打开它时,我有“添加任务”按钮,当我从一个空案例打开表单时,我想保留这个“名称”,但我想要一个按钮当我打开一个已经存在的任务时命名为“编辑此任务”。

我也想在按下回车键时使用此按钮发送表单,无论我在表单上的哪个位置。

谢谢。

【问题讨论】:

    标签: jquery forms button dialog


    【解决方案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 上工作,这有点糟糕,尤其是选择器冗余和每个都没有用(但我不知道如何只取那个元素。)

    【讨论】:

      【解决方案2】:

      您需要添加更多关于“编辑此任务”如何工作的信息,因为从服务器端到客户端有一些不同的实现(在解析时填充?表单 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,可以在加载表单数据的时候更新按钮。

      如果我仍然没有为你打中钉子,也许添加一个表单元素来检查?像&lt;input type="hidden" name="isEdit" value="1" /&gt; 是否处于可以检查的编辑模式? if( $('#myForm input[name=isEdit]').val() == 1 ) ...

      【讨论】:

        【解决方案3】:

        好的,抱歉,我认为我的代码不是必需的,但看起来是^^

        $("#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'
            });
        

        当任务已经存在时,我希望“添加任务”按钮变成“编辑任务”。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-04-10
          • 1970-01-01
          • 1970-01-01
          • 2011-03-18
          相关资源
          最近更新 更多