Javascript 将值附加到表单
我试图从表单中获取值并将其附加到表单中,然后将该值作为参数传递Javascript 将值附加到表单,javascript,jquery,forms,Javascript,Jquery,Forms,我试图从表单中获取值并将其附加到表单中,然后将该值作为参数传递 <form id="myForm"> <input type="text" id="name" name="name" placeholder="Fullname"> <input type="text" id="phone" name="phone" placeholder="Phone"> </form> <script> var myform = docu
<form id="myForm">
<input type="text" id="name" name="name" placeholder="Fullname">
<input type="text" id="phone" name="phone" placeholder="Phone">
</form>
<script>
var myform = document.getElementById('myForm');
var form = new FormData(myform);
// form will have name and phone
form.append("url", window.location.href);
$.ajax(settings).done(function (response) {
if (response.success) {
// Only do something if the response data has success key.
}
});});
</script>
脚本
$(document).ready(function() {
$('#buttonClick').on('click', 'button',function firstCall(){
var form = new FormData();
form.append("name", "test");
form.append("phone", "2245201905");
form.append("url", "this_url");
var settings = {
"async": true,
"crossDomain": true,
"url": "url_path",
"method": "POST",
"processData": false,
"contentType": false,
"mimeType": "multipart/form-data",
"data": form
}
$.ajax(settings).done(function (response) {
console.log(response);
});});
});
HTML
<form method="post" id="formSample">
<div class="form-group">
<label for="name">Name</label>
<input type="text" id="name" placeholder="Fullname">
</div>
<div class="form-group">
<label for="phone">phone</label>
<input type="number" name="phone" placeholder="number">
</div>
<div id="buttonClick">
<button >Submit</button></div>
此外,点击按钮时,我无法传递数据,因为我已发出警报,但我没有我的代码输入功能
注意:我还没有在url部分工作
form.append("name", "(document.getElementById('name').value");
您正在此处追加一个字符串。只需拆下“
此外,您可能希望更仔细地了解anonymous,并在javascript中创建一个FormData,其值来自实际HTML,您可以将该表单作为参数传递给表单数据
<form id="myForm">
<input type="text" id="name" name="name" placeholder="Fullname">
<input type="text" id="phone" name="phone" placeholder="Phone">
</form>
<script>
var myform = document.getElementById('myForm');
var form = new FormData(myform);
// form will have name and phone
form.append("url", window.location.href);
$.ajax(settings).done(function (response) {
if (response.success) {
// Only do something if the response data has success key.
}
});});
</script>
var myform=document.getElementById('myform');
var form=新表单数据(myform);
//表单将包含姓名和电话
append(“url”,window.location.href);
$.ajax(设置).done(函数(响应){
if(response.success){
//仅当响应数据具有成功键时才执行操作。
}
});});
实际上,只需获取整个表单并将其传递给,就可以简化操作。不过,您应该为输入设置名称
函数第一次调用(e){
e、 预防默认值();
var htmlForm=document.getElementById('formSample');
var form=新的FormData(htmlForm);
格式。附加(“url”、“本url”);
//执行ajax请求
form.forEach((e,i)=>{console.log(i,e);});
}
$(文档).ready(函数(){
//如果需要在其他地方重用命名函数,则可以使用该函数
$(“#buttonClick”)。在('click','button',firstCall)上;
});
名称
电话
提交
是的,谢谢..这很有效..当我做出API响应时我还有另一个疑问,我只想在响应为真时显示此消息..有什么指导吗?@raulxbox无需感谢我。只需向上投票并接受即可。请:我做了,但他们说你可以在2分钟后向上投票答案..我会这样做。我如何将当前页面url传递给formt汉克斯:我只想在response=true时显示这个表单,所以我知道我可以不显示,然后显示块,但这是一个好的做法吗?var form=FormData(myform);
必须是var form=new FormData(myform)
对吗?是的,这真的很简单。但是你在哪里进行ajax调用?而不是console.log对吗?你可以保留你所做的部分这是什么意思//不要使用命名函数这里的第三个参数是回调,在你的情况下,你可以使用匿名函数而不是命名函数(你不需要给它命名为firstCall)好的,但是我有一个athorapi调用,所以我想我必须在这里使用函数名
<form id="myForm">
<input type="text" id="name" name="name" placeholder="Fullname">
<input type="text" id="phone" name="phone" placeholder="Phone">
</form>
<script>
var myform = document.getElementById('myForm');
var form = new FormData(myform);
// form will have name and phone
form.append("url", window.location.href);
$.ajax(settings).done(function (response) {
if (response.success) {
// Only do something if the response data has success key.
}
});});
</script>