gpt4 book ai didi

javascript - 提交包含动态 ID 的 HTML 表单

转载 作者:行者123 更新时间:2023-12-02 21:43:36 25 4
gpt4 key购买 nike

我有 2 个包含动态 ID 属性的 HTML 表单。我想要的是通过 AJAX 调用分别存储来自每个 HTML 表单的数据。目前,当我使用静态 ID 名称“surveyImage”时,AJAX 调用仅适用于一种 HTML 表单。

我不知道如何使用 jQuery 为每个表单单独调用方法 submit() 。有什么办法可以解决这个问题吗?

id=“surveyImage13”的表单

 <form method="POST" action="http://localhost/1/467/survey" accept-charset="UTF-8" id="surveyImage13" role="form" class="form-material m-t-40" novalidate="novalidate"> 
<div class="row">
<div class="col-lg-12">
<input name="questionnaire_pivot_id" id="questionnaire_pivot_id13" class="questionnaire_pivot_id" type="hidden" value="13">
<input name="questionnaire_id" id="questionnaire_id" class="questionnaire_id" type="hidden" value="1">
<input name="survey_image_id" id="survey_image_id" class="survey_image_id" type="hidden" value="467">

...
<div class="row" style="margin-bottom: 5%;">
<div class="col-xl-2 col-lg-3 col-md-3">
<button id="add" class="btn btn-default btn-md-6" type="submit" style="margin-top: 11%;">Save</button>
</div>
</div>
</form>

ID=“surveyImage18”的表单

<form method="POST" action="http://localhost/2/467/survey" accept-charset="UTF-8" id="surveyImage18" role="form" class="form-material m-t-40" novalidate="novalidate"> 
<div class="row">
<div class="col-lg-12">
<input name="questionnaire_pivot_id" id="questionnaire_pivot_id18" class="questionnaire_pivot_id" type="hidden" value="18">
<input name="questionnaire_id" id="questionnaire_id" class="questionnaire_id" type="hidden" value="2">
<input name="survey_image_id" id="survey_image_id" class="survey_image_id" type="hidden" value="467">

...

</div>
</div>

<div class="row" style="margin-bottom: 5%;">
<div class="col-xl-2 col-lg-3 col-md-3">
<button id="add" class="btn btn-default btn-md-6" type="submit" style="margin-top: 11%;">Save</button>
</div>
</div>
</form>

AJAX 调用

<script type="text/javascript">
$("#surveyImage13").validate({
rules: {
'responses[]': {
required:true
}
},
// change name of error class that is assigned to input fields
errorClass: 'error_validate',

errorPlacement: function (label, element) {


// default
if (element.is(':radio')) {
label.insertAfter(element.parent('.form-check-inline'));
}
else {
label.insertAfter(element);
}
}

});
</script>


<script type="text/javascript">

$("#surveyImage13").submit(function(e) {
e.preventDefault();

var route=$('#surveyImage13').attr('action');
var pivot_id = $("#questionnaire_pivot_id").val();



// Get values of checked checkboxes
var responses = $('.form-check-inline input').filter(':checked').map(function() {
return this.value;
}).get();

var isFormValid = $("#surveyImage13").valid();

if(isFormValid){

$.ajax({
type: "POST",
url: route,
data: {'responses': responses, 'pivot_id': pivot_id},
success: function(response){


$("#surveyImageForm").css("display", "none");
$("#surveyImageAjax").css("display", "block");

$('#SurveyTableAjaxColumn1').append(response[1]);
$('#SurveyTableAjaxColumn2').append(response[0]);
},
error: function(){
console.log('Error');
}
})
}
});

</script>

最佳答案

为什么不给你的表单一个通用的

$('.myClass').validate({ ...
})


$('.myClass').submit(...

关于javascript - 提交包含动态 ID 的 HTML 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60320644/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com