没有JS可以将数据放入action属性吗?

时间:2015-01-04 11:15:25

标签: javascript html

我有以下表格:

<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

4 个答案:

答案 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>