Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在提交时更改表单数据?_Javascript_Jquery - Fatal编程技术网

Javascript 如何在提交时更改表单数据?

Javascript 如何在提交时更改表单数据?,javascript,jquery,Javascript,Jquery,我试图更改提交表单时输入文本框进行搜索的文本大小写。我有一个问题,当涉及到提交转换后的文本。使用下面的代码,我如何提交带有转换文本的表单?我希望文本框中文本的外观不被更改 search.submit(function (e) { e.preventDefault(); convert = searchBox.val(); converted = convert.toTitleCase(); this.submit(); }); 您正在转换文本,但在提交之前没

我试图更改提交表单时输入文本框进行搜索的文本大小写。我有一个问题,当涉及到提交转换后的文本。使用下面的代码,我如何提交带有转换文本的表单?我希望文本框中文本的外观不被更改

search.submit(function (e) {
    e.preventDefault();

    convert = searchBox.val();
    converted = convert.toTitleCase();

    this.submit();
});

您正在转换文本,但在提交之前没有将其保存回输入

试着这样做:

search.submit(function (e) {
    e.preventDefault();

    convert = searchBox.val();
    converted = convert.toTitleCase();
    $('#inputID').val(converted);

    this.submit();
});
而且我认为您不需要
preventDefault
然后
submit
。。只要返回真的

编辑:根据以上答案评论中的问题,尝试以下操作:

原件:

新的:

html


name
属性是表单用于创建其POST/GET参数的属性。。。如果name属性不存在,则表单不会发送值

您正在转换文本,但在提交之前不会将其保存回输入

试着这样做:

search.submit(function (e) {
    e.preventDefault();

    convert = searchBox.val();
    converted = convert.toTitleCase();
    $('#inputID').val(converted);

    this.submit();
});
而且我认为您不需要
preventDefault
然后
submit
。。只要返回真的

编辑:根据以上答案评论中的问题,尝试以下操作:

原件:

新的:

html

name
属性是表单用于创建其POST/GET参数的属性。。。如果name属性不存在,则表单不会发送值

search.submit(function (e) {
  searchBox.val(searchBox.val().toTitleCase());
});
试试看


Q中应该是searchBox.val(converted)jquery标记,所以可以安全地假设它们是Q中的searchBox.val(converted)jquery标记,所以可以安全地假设它们是。这个答案更简洁。。但更重要的是,删除preventDefault和SubmitAltogether有没有一种方法可以在不改变文本框外观的情况下提交转换后的文本?谢谢!已删除默认值和提交:)您可以创建新表单并修改值,也可以从未转换文本的输入中删除name属性,并将其保存到隐藏的输入中,使用所需的name属性,然后将值设置为转换文本。我会用这个更新我的答案。这个答案更简洁。。但更重要的是,删除preventDefault和SubmitAltogether有没有一种方法可以在不改变文本框外观的情况下提交转换后的文本?谢谢!已删除默认值和提交:)您可以创建新表单并修改值,也可以从未转换文本的输入中删除name属性,并将其保存到隐藏的输入中,使用所需的name属性,然后将值设置为转换文本。我将用它更新我的答案。在我的更新答案中回答了你的编辑。在我的更新答案中回答了你的编辑。
search.submit(function (e) {
    $('#myinputHidden').val($('#myinput').val().toTitleCase());
});
search.submit(function (e) {
  searchBox.val(searchBox.val().toTitleCase());
});