jEditable自定义表单提交

时间:2011-09-09 20:34:49

标签: jquery ruby-on-rails-3 forms jquery-plugins jeditable

我正在使用jeditable编辑表单并将自定义表单提交到服务器。

我需要编辑产品说明框。当一些点击编辑时,它会弹出一个带有产品描述的窗口,该产品描述处于可编辑模式,并带有一个额外的下拉框(询问用户更改的原因)。但是,我只需要在网页上显示说明而不是理由。

我该怎么做?

示例代码

$.editable.addInputType('autogrow', {
 element : function(settings, original) {
 var hourselect = $('<select id="reason" name="reason">');
 var textarea = $('<textarea id="text" />');
 $(hourselect).append(
 $('<option />').text('Select a reason').val(''),
    $('<option />').text('Adding new Description').val('1'),
    $('<option />').text('Editing Grammar').val('2')
  );
 $(this).append(hourselect);

 if (settings.rows) {
  textarea.attr('rows', settings.rows);
  } else {
  textarea.height(settings.height);
  }
  if (settings.cols) {
   textarea.attr('cols', settings.cols);
  } else {
  textarea.width(settings.width);
  }
    $(this).append(textarea);
    /* Last create an hidden input. This is returned to plugin. It will */
    /* later hold the actual value which will be submitted to server.   */
   var hidden = $('<input type="hidden" />');
    $(this).append(hidden);

    return(hidden);
},
plugin : function(settings, original) {
    $('textarea', this).autogrow(settings.autogrow);
},
submit: function (settings, original) {
var value = $('#text').val();
    $('input', this).val(value);
 }
});

我只能向服务器发送一个值,即文本或。我也想把理由发送到服务器。

有没有人遇到过这个问题或用例并指导我。

病毒

1 个答案:

答案 0 :(得分:1)

我收到了tuupola [jeditable]作者

的回复

“当前Jeditable只向服务器发送一个值。但是您可以将所有输入的值作为JSON编码数组写入隐藏输入。然后在服务器端将JSON字符串解码回数组。”

第二种方式是:

您可以使用submitdata选项并将所有额外参数传递给它。

例如,

var bar = $('selector').val(); //extra value to server
$(".edit_area").editable(your_url, { 
event : 'click',
indicator : '<img src="/images/spinner.gif">',
type : "text",
submitdata : {foo: bar}
});

希望这个帮助