Javascript 使用外部JS文件捕获HTML表单数据
我试图在HTML页面(也有引导代码)上创建一个表单,当用户单击submit按钮时,我希望数据被同一目录中的外部javascript文件捕获和处理。然而,我不认为我这样做是正确的,因为当我点击提交按钮时,页面会重新加载,添加的结果不会显示在下面 以下是指向这些文件的链接: 提前谢谢 你必须改变Javascript 使用外部JS文件捕获HTML表单数据,javascript,html,twitter-bootstrap,Javascript,Html,Twitter Bootstrap,我试图在HTML页面(也有引导代码)上创建一个表单,当用户单击submit按钮时,我希望数据被同一目录中的外部javascript文件捕获和处理。然而,我不认为我这样做是正确的,因为当我点击提交按钮时,页面会重新加载,添加的结果不会显示在下面 以下是指向这些文件的链接: 提前谢谢 你必须改变 <button type="submit" class="btn btn-default" method="POST" onclick="process()">Submit</button
<button type="submit" class="btn btn-default" method="POST" onclick="process()">Submit</button>
到
您可以使用ajax实现它 以下是您可以参考的小演示: 注意:根据您的要求更改actionUrl test.Html:
<form action='actionUrl' class='ajax' method='post'>
<input type='text' name='name' placeholder='Enter Name'/>
<input type='submit' value='submit'/>
</form>
<div id='somediv'></div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src='main.js'></script>
请尝试将
onclick=“process()”
更改为onclick=“process();return false;”
并阅读“对不起,这对我不起作用”。我试过onclick和onsubmitI,但仍然不起作用。然后我尝试将它从jQuery('#result').html(result)更改为jQuery('#result').text(result),并在page@user2411857这个答案是错误的。不能对DOM对象执行parseInt()
。您需要执行以下操作:parseInt($(“#firstquartergrade”).val()代码>
function process(){
var q1 = document.getElementById("firstquartergrade").value;
var q2 = document.getElementById("secondquartergrade").value;
var result = q1+q2;
document.getElementById("result").innerHTML = result;
}
function process(){
var q1 = parseInt(jQuery("#firstquartergrade").val());
var q2 = parseInt(jQuery("#secondquartergrade").val());
var result = q1+q2;
jQuery('#result').html(result);
}
<form action='actionUrl' class='ajax' method='post'>
<input type='text' name='name' placeholder='Enter Name'/>
<input type='submit' value='submit'/>
</form>
<div id='somediv'></div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src='main.js'></script>
$('form.ajax').on('submit',function(){
var vForm=$(this),
url=vForm.attr('action'),
type=vForm.attr('method'),
data={};
vForm.find('[name]').each(function(){
var vInput=$(this),
name=vInput.attr('name'),
value=vInput.attr('value');
data[name] = value;
});
$.ajax({
url:url,
type:type,
data:data,
success:function(response){
$('#somediv').html(response);
}
});
return false;
});