我不确定这是否可能,或者我的做法是否错误?
我有一个表单,在提交时,应该根据输入将用户发送到URL。
例如,如果用户输入' 2',则网址应为books/itemView?id=2
我创建了一个var = id
,它接收搜索输入框数据。是否可以将此变量添加到我当前的表单操作中?也许有一种更有效的方式?
我目前的代码如下;
<form id="search" action="<?php echo URL; ?>books/itemView?id=" method="post">
<input type="text" name="search" id="demo"/>
<input type="submit" value="Submit">
</form>
我的JS
$(document).ready(function(){
var id = $('#search').val();
});
JS很新,所以任何帮助都会受到赞赏。
答案 0 :(得分:4)
JS应该是
$('#search').on('submit', function() {
var id = $('#demo').val();
var formAction = $('#search').attr('action');
$('#search').attr('action', formAction + id);
});
答案 1 :(得分:1)
$(document).ready(function(){
var $form = $('#search');
var id = $form.val();
var $search = $('#demo');
var originalAction = $search.attr('action');
$form.on('submit', function() {
$search.attr('action', originalAction + id);
});
});
在提交表单之前,jQuery的on('submit', handler)
函数执行handler
中的代码修改您想要的属性操作。
originalAction
变量存储在php中部分生成的action
属性的内容,然后附加用js动态创建的id
。
答案 2 :(得分:1)
如果他们在搜索输入中输入2,那么您的ID将附加到您的网址,如:
url?search=2
因此,您可能希望将搜索输入的名称更改为id或添加其他输入字段。
<form id="search" action="<?php echo URL; ?>books/itemView" method="post">
<input type="text" name="id" id="demo"/>
<input type="submit" value="Submit">
</form>
这应该是你所需要的,不需要jquery或javascript。
提交时应该导致:
books/itemView?id=2(or whatever is in the search/id input when you click submit)