我有一个这样的表格
<html>
<body>
<form action='' name='myform' method='POST'>
<input type='text' name='cars'>
<button action='submit'>Search Cars</button>
</body>
</html>
我想要做的是根据输入字段中填充的内容(由自动填充填充)将表单操作更改为action='http://www.mysite.com/<cars_value>.html'>
。
有一种简单的方法吗?我可以用<select>
轻松地完成它,但客户想要一个输入字段!
答案 0 :(得分:8)
您可以这样做,您需要在项目中添加ID。您可能想要做的一件事是验证用户输入。
<强> HTML 强>
<form action='' name='myform' id="myform" method='POST'>
<input type='text' name='cars' id="cars">
<button action='submit'>Search Cars</button>
</form>
<强>的jQuery 强>
$('#myform').submit(function(){
var car = $('#cars').val();
$(this).attr('action', "http://www.mysite.com/" + car + ".html");
});
编辑: 最好是在页面底部的javascript;
展开强>
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<form action='' name='myform' id="myform" method='POST'>
<input type='text' name='cars' id="cars">
<button action='submit'>Search Cars</button>
</form>
<script src="path-to-jquery"></script>
<script>
// Shorthand for $(document).ready();
$(function() {
$('#myform').submit(function(){
var car = $('#cars').val();
$(this).attr('action', "http://www.mysite.com/" + car + ".html");
});
});
</script>
</body>
</html>
答案 1 :(得分:2)
您可以按照以下方式执行此操作:
$('#myForm').submit(function() {
this.action = 'http://mysite.com/<xyz>.html';
return true;
}
答案 2 :(得分:1)
您需要从输入字段中获取值并填充xyz值。试试这个
$('#myForm').submit(function() {
var value = $('input[type="text"]').val();
this.action = 'http://mysite.com/' + value + '.html';
return true;
}
答案 3 :(得分:0)
首先获取您的输入,然后更新操作。如果要在更改值后进行表单提交,则返回true;如果是单独的按钮,则返回false。
<button onclick="changeVal($('input').val()">change value</button>
<script>
function changeVal(value){
$("form").attr("action",'http://mysite.com/'+value+'.html');
return true;
}
</script>
小心做这样的事情,就像你使用这个解决方案一样,你将开启自己的javascript注入攻击。在将输入注入表单之前,您需要“清理”输入。