表单提交时将输入值包装为%%jquery

表单提交时将输入值包装为%%jquery,jquery,forms,Jquery,Forms,正在尝试解决如何在表单实际提交之前获取提交的值(无论是POST/GET还是POST/GET),并在提交的值前面加上“%” 输入id/名称为“m6070bcdx_字段[58][fldval]” 我尝试了以下方法: <script type="text/javascript"> $(".form-horizontal").submit( function (event) { if ($("#m6070bcdx_field[58][fldval]") != '')

正在尝试解决如何在表单实际提交之前获取提交的值(无论是POST/GET还是POST/GET),并在提交的值前面加上“%”

输入id/名称为“m6070bcdx_字段[58][fldval]”

我尝试了以下方法:

<script type="text/javascript">
    $(".form-horizontal").submit( function (event) {
        if ($("#m6070bcdx_field[58][fldval]") != '') {
            var cdx58 = $("#m6070bcdx_field[58][fldval]").val();
            $("#m6070bcdx_field[58][fldval]").val() = '%'+cdx58+'%';
            console.log('%'+cdx58+'%');
            event.preventDefault();
        }
    });
</script>

$(“.form horizontal”).submit(函数(事件){
如果($(“35; m6070bcdx_字段[58][fldval]”)!=”){
var cdx58=$(“#m6070bcdx_字段[58][fldval]”).val();
$(“#m6070bcdx_字段[58][fldval]”).val()='%'+cdx58+'%';
console.log('%'+cdx58+'%');
event.preventDefault();
}
});
试试这个:

$("#m6070bcdx_field[58][fldval]").val('%' + cdx58 + '%');
删除
事件.preventDefault()
,以便它仍能提交您的表单

您可能希望将其更改为类似以下内容,这样您就不会不断地将“%”添加到字段中:

if (!cdx58.match(/^%.*%$/)) {
  $("#m6070bcdx_field[58][fldval]").val('%' + cdx58 + '%');
}

谢谢你的建议robbrit,它似乎没有起作用。它仍在提交值之前和之后的%w/o。进一步注意,event.preventDefault();只是暂时的,用于测试并查看值是否已更改。:)在提交表单之前,.submit似乎没有实际处理-尝试在函数的第一行插入一个alert()-但是没有被处理triggered@user2228071给定的脚本是否位于页面的右侧?这会导致你的脚本在表单存在之前运行。嗨,凯文,我现在已经找到了那个部分。添加$(文档).ready(函数(){脚本现在正在访问提交。我现在收到一个未定义的错误“cdx58”是因为将它直接插入sql查询吗?是的-表单/模块的默认操作是运行一个类似的查询,需要添加%以扩大搜索结果,所以您说,例如,我可以将您的javascript改为将值更改为
“%somevalue%”;删除表用户
它会直接插入到您的sql中吗?即使您正确地阻止了这一点,在服务器端执行此操作应该会容易得多。我不想这样说,也不想这样说,但我需要找到一种方法,以某种方式将类似于搜索的内容转换为“包含”-通过javascript/jQuery提供任何建议?因为我们试图避免使用editing模块的核心。