【问题标题】:Jquery dialog with input textbox带有输入文本框的 Jquery 对话框
【发布时间】:2015-08-16 18:57:08
【问题描述】:

我想使用 jquery 对话框来收集用户信息(例如用户名)。我如何使用 Jquery 执行此操作并将数据收集到 Javascript 变量中?

这是我目前的尝试:

// Dialog here, how to rewrite this?
$('<form> <input type="text" style="z-index:10000" name="name"> <br> </form>').dialog({modal:true});

// push data to Parse
var Label = Parse.Object.extend("Label");
var result = new Label();
result.set("labels", localStorage.getItem("labels"));
result.set("name", name);

result.save(null, {
  sucess : function(result) {
    alert("Stored data sucessfully!");
  },
  error: function(result, error) {
    alert("Error submitting data, error code:" + error.message);
  }
});

但是我还不能输入文字。

【问题讨论】:

    标签: jquery jquery-ui-dialog


    【解决方案1】:

    您可以在buttons 部分中放置您想要的任何功能,这样当用户单击“确定”时,您就可以处理他们的信息。这方面的文档是here。例如:

    $('<form><input type="text" style="z-index:10000" name="name"><br></form>').dialog({
      modal: true,
      buttons: {
        'OK': function () {
          var name = $('input[name="name"]').val();
          storeData(name);
          $(this).dialog('close');
        },
        'Cancel': function () {
          $(this).dialog('close');
        }
      }
    });
    

    这是一个展示这一点的小提琴(尽管没有样式):http://jsfiddle.net/duffmaster33/zuervqop/1/

    【讨论】:

      【解决方案2】:

      处理对话框的代码应该在其onClose 函数中。

      $('<form> <input type="text" style="z-index:10000" class="name"> <br> </form>').dialog({
        modal: true,
        onClose: function() {
          var name = $(this).find(".name").val();
          var Label = Parse.Object.extend("Label");
          var result = new Label();
          result.set("labels", localStorage.getItem("labels"));
          result.set("name", name);
      
          result.save(null, {
            sucess: function(result) {
              alert("Stored data sucessfully!");
            },
            error: function(result, error) {
              alert("Error submitting data, error code:" + error.message);
            }
          });
        }
      });

      【讨论】:

      • 如果您这样做,您将在用户点击取消时处理结果
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-03
      • 1970-01-01
      • 2013-02-27
      • 1970-01-01
      • 2016-04-04
      相关资源
      最近更新 更多