Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.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/2/jquery/83.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/2/visual-studio-2010/4.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 用于更改表单提交的参数的jquery代码_Javascript_Jquery_Forms - Fatal编程技术网

Javascript 用于更改表单提交的参数的jquery代码

Javascript 用于更改表单提交的参数的jquery代码,javascript,jquery,forms,Javascript,Jquery,Forms,在PHP程序的web表单中,表单是常规HTML表单 现在,表单有3个单独的文本框。让他们的ID/名称分别为box1、box2和box3 我想发生的是,当表单发布时-- 发布以下文本-->box1+box2+box3内容,以逗号分隔 我希望使用JQuery实现这一点-我查找了JQuery“submit”函数,但找不到任何直接的方法来替换参数-我如何实现上述功能?我认为使用ajax可以轻松实现这一点。。请查收 如果您想在没有ajax的情况下实现这一点,可能必须使用隐藏字段。。请检查我认为您可以使用a

在PHP程序的web表单中,表单是常规HTML表单

现在,表单有3个单独的文本框。让他们的ID/名称分别为box1、box2和box3

我想发生的是,当表单发布时--

发布以下文本-->box1+box2+box3内容,以逗号分隔


我希望使用JQuery实现这一点-我查找了JQuery“submit”函数,但找不到任何直接的方法来替换参数-我如何实现上述功能?

我认为使用ajax可以轻松实现这一点。。请查收


如果您想在没有ajax的情况下实现这一点,可能必须使用隐藏字段。。请检查

我认为您可以使用ajax轻松实现这一点。。请查收

如果您想在没有ajax的情况下实现这一点,可能必须使用隐藏字段。。请检查

您可以这样做:

$('#yourForm').submit(function(e){

    var form = $(this)

    //Do you validation

    if(isValid){
        var mergedInput = $('<input/>');
        var inputToMerge = ['#box1','#box2','#box3'];
        var valueToMerge = $.map(inputToMerge, function(selector){
            val = $(selector).val()
            $(selector).remove()
            return val;
        })
        mergedInput.val(valueToMerge.join(','));
        mergedInput.prop('name', 'mergedInput')


        mergedInput.appendTo(form);

    }else{
        return false;
    }
})
$('#yourForm')。提交(函数(e){
变量形式=$(此)
//你认为有效性如何
如果(有效){
var mergedInput=$('');
var inputToMerge=['#框1'、'#框2'、'#框3'];
var valueToMerge=$.map(输入框、函数(选择器){
val=$(选择器).val()
$(选择器).remove()
返回val;
})
mergedInput.val(valueToMerge.join(',');
prop('name','mergedInput')
合并输入。附录(表格);
}否则{
返回false;
}
})
基本上,它是将您的输入合并到一个可通过php访问的输入中,使用
['mergedInput']

您可以这样做:

$('#yourForm').submit(function(e){

    var form = $(this)

    //Do you validation

    if(isValid){
        var mergedInput = $('<input/>');
        var inputToMerge = ['#box1','#box2','#box3'];
        var valueToMerge = $.map(inputToMerge, function(selector){
            val = $(selector).val()
            $(selector).remove()
            return val;
        })
        mergedInput.val(valueToMerge.join(','));
        mergedInput.prop('name', 'mergedInput')


        mergedInput.appendTo(form);

    }else{
        return false;
    }
})
$('#yourForm')。提交(函数(e){
变量形式=$(此)
//你认为有效性如何
如果(有效){
var mergedInput=$('');
var inputToMerge=['#框1'、'#框2'、'#框3'];
var valueToMerge=$.map(输入框、函数(选择器){
val=$(选择器).val()
$(选择器).remove()
返回val;
})
mergedInput.val(valueToMerge.join(',');
prop('name','mergedInput')
合并输入。附录(表格);
}否则{
返回false;
}
})

基本上,它是将您的输入合并到一个可以通过php访问的输入中,使用
['mergedInput']

您可以使用AJAX解决您的问题

你的HTML

<form onsubmit="return sendBoxes()">
  <input type="text" id="box1">
  <input type="text" id="box1">
  <input type="text" id="box1">
  <input type="submit">
</form>

您可以使用AJAX来解决您的问题

你的HTML

<form onsubmit="return sendBoxes()">
  <input type="text" id="box1">
  <input type="text" id="box1">
  <input type="text" id="box1">
  <input type="submit">
</form>
HTML

这将检查是否单击了submit按钮并发送三个框值,它们之间用逗号分隔


这将检查是否单击了提交按钮并发送了三个以逗号分隔的框值

您可以使用
jQuery.ajax
,例如:
数据:{'box':$('#box1').val()+,“+$('#box2').val()+,“+$('#box3').val()}
@mgraph ok-一旦我将组合数据输入新变量,现在我如何提交表单——用新的单个参数(具有组合值)替换3个框参数?如果你能发布一个JS代码片段来说明这一点,那将非常有帮助。也请不要发表评论,而是将其作为回答?谢谢,Arvindyou可以使用
jQuery.ajax
,例如:
数据:{'box':$('box1').val()+”,“+$('box2').val()+”,“+$('box3').val()}
@mgraph ok-一旦我将组合数据放入新变量中,现在如何提交表单--用新的单个参数(具有组合值)替换3个框参数?如果你能发布一个JS代码片段来说明这一点,那将非常有帮助。也请不要发表评论,而是将其作为回答?谢谢,阿文
function submit(){
$.ajax({
  type: "POST",
  url: "someurl.php",
  data:{'boxes':$('#box1').val()+","+$('#box2').val()+","+$('#box3').val()}
}).done(function( msg ) {
  alert( "Data Saved: " + msg );
});
}
$("#submit_button").click(function(e) {
  submit();
  e.preventDefault();
  return false;
});