HTML:
<form id="yourFormId" method="POST" action="/">
{{csrf_field()}}
<div id="check" class="input-group margin-bottom-sm">
<input class="form-control" type="text" name="find" placeholder="Search">
<button type="submit"><div id="search" class="input-group-addon"><i class="fa fa-search"></i></div></button>
</div>
</form>
JS:
<script>
$(function(){
$(".form-control").on('change',function(e){
$("#yourFormId").attr("action","/" + this.val() );
});
});
</script>
该脚本不起作用。我需要一个ajax解决方案来动态地将输入文本传递给action url。怎么做?
答案 0 :(得分:0)
试试这个:
<script>
$(function(){
$(".form-control").on('change',function(e){
$("#yourFormId").attr("action","/" + $(this).val() );
});
});
</script>
答案 1 :(得分:0)
此代码将在密钥上提交您的表单(一旦您停止输入)
var timerid;
jQuery("#yourFormId").keyup(function() {
var form = this;
clearTimeout(timerid);
timerid = setTimeout(function() { form.submit(); }, 500);
});
在此代码中,您截取表单提交并使用ajax submit
进行更改$('.form-control').bind('keyup', function() {
$("#yourFormId").submit(function (event) {
event.preventDefault();
$.ajax({
type: "post",
dataType: "html",
url: '/url/toSubmit/to',
data: $("#yourFormId").serialize(),,
success: function (response) {
//write here any code needed for handling success }
});
});
});
要使用延迟功能,您应该使用jQuery 1.4。传递给延迟的参数以毫秒为单位。
答案 2 :(得分:0)
我想你想提交带有动态文本字段值的ajax请求的表单。
您可以根据需要使用简单的java脚本函数或单击事件或使用ajax请求
你这样简单使用
window.location.href = “/” + $(本).VAL(); 返回false;