我正在使用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);
}
});
我只能向服务器发送一个值,即文本或。我也想把理由发送到服务器。
有没有人遇到过这个问题或用例并指导我。
病毒
答案 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}
});
希望这个帮助