我有以下表格:
<form action="/employee/_here_should_be_the_value_of_the_emp_id_input" method="get">
<label for="employeeId">Id:</label>
<input type="text" id="emp_id"/>
<input type="submit" />
</form>
是否可以提交表单,以使所需的URI
取决于input
中的用户类型?我的意思是,没有明确地写JavaScript
,只能通过HTML
。
答案 0 :(得分:3)
简短回答:不,这是不可能的。
使用jQuery可以这样:
<script>
$(function () {
var input = $('#emp_id');
input.change(function () {
$('#form').attr('action', '/employee/' + input.val());
});
});
</script>
<form id="form" action="/employee/_here_should_be_the_value_of_the_emp_id_input" method="get">
<label for="employeeId">Id:</label>
<input type="text" id="emp_id"/>
<input type="submit" />
</form>
答案 1 :(得分:1)
如果没有JavaScript
,你不能这样做答案 2 :(得分:1)
您无法使用HTML更改action
属性的值,但可以使请求URL(URI)取决于用户输入。 (目前还不清楚你要问的是哪一个,但我认为你打算问后者。)实际上,当你使用method=get
(默认值)时,当你指定name
属性时会自动发生这种情况。到表单中的input
元素:
<form action="/employee/" method="get">
<label for="emp_id">Id:</label>
<input type="text" id="emp_id" name="emp_id"/>
<input type="submit" />
</form>
如果此表单显示在使用HTTP访问的域www.example.com中的页面上,并且用户输入为42,则会生成请求URL http://www.example.com/employee/?emp_id=42
。然后由www.example.com上的服务器将其从那里拿走。
如果没有在?
开头的网址中包含查询部分,则无法执行此操作。如果您需要生成特定格式的请求网址,请说http://www.example.com/employee/42
其中42
是用户输入,如果您不能或不想使用JavaScript,则需要接受查询URL作为输入,并以相当简单的方式将其转换为所需的格式,并通过HTTP重定向发送请求。
答案 3 :(得分:0)
使用简单的内联js:
<form id="form" oninput="document.getElementById('form').action = '/employee/' + document.getElementById('emp_id').value" action="/employee/_here_should_be_the_value_of_the_emp_id_input" method="get">
<label for="employeeId">Id:</label>
<input type="text" id="emp_id"/>
<input type="submit" />
</form>