单击按钮时,我正在动态生成表单。我使用易于阅读的字符串作为某些字段的标签,因为它包含适用于表单字段名称的无效字符,因此会成为Size (ft)
之类的问题。这个特殊问题的解决方案大约占完成的90%,而我对正则表达式的理解不足现在成了障碍。
我需要一种快速方法将字符串从Size (ft)
转换为Size_ft
之类的内容。案件的保存和将空间转换为下划线都是我真正想要的。可以删除无效的非空格字符,无需替换它们。
修改
表单变量收集:
var jFormVars = {};
jFormVars[fieldName] = fieldValue;
表格汇编:
jButton.on('click', function() {
jDiv.find('form').remove(); // Remove existing form...
var jForm = $('<form action="path/to" method="post" />').appendTo(jDiv);
$.each(jFormVars, function(key_i, val_i) {
$('<input name="'+key_i+'" type="hidden" value="'+val_i+'" />').appendTo(jForm);
});
jForm.submit(); // Commented for debug .remove();
});
修改
集成解决方案:
var jFormVars = {};
jFormVars[fieldName.replace(/\s+/g, '_').replace(/\W+/g, '')] = fieldValue;
答案 0 :(得分:1)
Size (ft)
类似于Size_ft
您可以使用以下内容:
var name = "Size (ft)";
name = name.replace(/\s+/g, '_').replace(/\W+/g, '');