是否可以发布表单,同时使用javascript获取输入数据?
假设我有一张表格是否可以发布表单,同时使用javascript获取输入数据?,javascript,php,jquery,Javascript,Php,Jquery,假设我有一张表格 <form action="www.posturl.com" method="post" > <input type="text" name="test" /> <input type="submit" /> </form> 在发布表单时,是否有办法使用javascript获取输入字段“test”?如果有,是否有办法阻止它,并且只能发布到该操作url?有人可以使用javascript获
<form action="www.posturl.com" method="post" >
<input type="text" name="test" />
<input type="submit" />
</form>
在发布表单时,是否有办法使用javascript获取输入字段“test”?如果有,是否有办法阻止它,并且只能发布到该操作url?有人可以使用javascript获取数据。以下示例使用jQuery:
<script type="text/javascript">
$(function() {
$('form').on('submit', function() {
var test = $(this).find('[name="test"]').val(); // grab value of the input named 'test'
// do something with the data
});
});
</script>
$(函数(){
$('form')。在('submit',function()上{
var test=$(this).find('[name=“test”]').val();//获取名为“test”的输入的值
//对数据做点什么
});
});
如果有人可以控制表单所在页面的内容,则无法防止这种情况发生
您可以将表单作为iFrame提供给客户,iFrame显示来自不同域的页面。然后,同源策略将阻止他们通过JavaScript访问表单。您可以使用
AJAX
-
<form action="www.posturl.com" method="post" >
<input name="test" />
<input type="submit" />
</form>
<script>
$(function(){
$("form").on(submit,function(){
var form = $(this);
var action = form.attr('action');
var data = form.serialize();
$.post(action,data)
.done(function(response){
if(response.success == TRUE)
{
// If successfully submitted
}
else
{
// If not
}
});
});
});
</script>
$(函数(){
$(“表格”)。在(提交,函数()上{
变量形式=$(此);
var action=form.attr(“action”);
var data=form.serialize();
$.post(操作、数据)
.完成(功能(响应){
if(response.success==TRUE)
{
//如果成功提交
}
其他的
{
//如果不是
}
});
});
});
我不知道你为什么要这样做
但是你可以试试这个-
可以使用jQuery的unbind函数删除现有事件,例如:
if(user == 'admin')
{
$('#myForm').unbind('submit');
//will remove all onsubmit events from #myForm. Then you can add a new event using normal jQuery:
`$('#myForm').submit(function(e)` { /* your logic here */ });
}
因此,您可以提供这样的逻辑:如果用户是您(而不是您的客户机),那么这将解除现有提交事件的绑定,使用javascript函数添加一个新的提交事件,而您的客户端将只处理上一个提交事件,而上一个提交事件没有获取输入字段的javascript函数您可以调用表单提交事件并使用jquery获取表单值/js@RakeshSharma有没有什么办法可以阻止别人拿到表格数据,并且只发布到操作url?为什么?你为什么要那样?表单仅发布到操作URL。用户如何获取数据?我不明白你的意思,请澄清这是关于我的客户。我不希望我的客户使用提交操作获得信用卡的CVV,他们应该将其发布到我提供的url。我给他们一个javascript,他们应该在他们的页面中使用,然后只有他们可以使用我的服务。但我不希望我的客户存储信用卡的CVV,而是把它贴到我的网址上