我有一个发布到预设网址变量的表单,我想通过下拉选择器为该网址添加扩展名:
<form class="my-form" method="POST" action="<?php echo $url; ?>">
<select name="script_to_follow">
<option value="script1.php">Report 1</option>
<option value="script2.php">Report 2</option>
</select>
有没有人知道如何将值选择器作为扩展添加到URL,例如,如果选择了$ URL = www.example.com并且选择了报告1,则生成的操作将发布到www.example.com/script1。 PHP
答案 0 :(得分:0)
您可能必须使用jQuery执行此操作:
var url = 'www.example.com';
$(".script_to_follow").change(function(){
var selvalue = $(this).val();
url = url + '/' + selvalue;
window.location = url;
})
答案 1 :(得分:0)
您可以使用jQuery来完成。
在提交时调用一个函数:
var action = $('form.my-form').prop('action');
var selectedOption = $('select[name="script_to_follow"]').val();
$('form.my-form').prop('action', action+'/'+selectedOption;
答案 2 :(得分:0)
这里有两个选项:
使用javascript在<select>
字段上侦听更改事件,并根据选择的内容更改表单的操作。这就是其他答案的建议。
为了避免使用javascript,而不是根据所选值将表单指向不同的php脚本,请使用单个php脚本根据所选值进行切换。这样:
<form class="my-form" method="POST" action="action.php">
<select name="script_to_follow">
<option value="a">Report 1</option>
<option value="b">Report 2</option>
</select>
然后在action.php
做类似的事情:
switch ($_GET["script_to_follow"]) {
case "a":
// contents of script1.php
case "b":
// contents of script2.php
}
答案 3 :(得分:0)
试试吧 添加id属性以选择框
<select name="script_to_follow" id="script_to_follow">
<option value="script1.php">Report 1</option>
<option value="script2.php">Report 2</option>
</select>
现在编写一些jquery代码,通过选项
中的更改来更改操作属性<script>
$('#script_to_follow').change(function(){ // onchange event
var url = $('#script_to_follow').val(); // get selected option
$('form.my-form').prop('action',url); // replace action attribute
});
</script>
注意:不要忘记在表单
之前包含jquery脚本<script
src="https://code.jquery.com/jquery-3.1.1.js"
integrity="sha256-16cdPddA6VdVInumRGo6IbivbERE8p7CQR3HzTBuELA="
crossorigin="anonymous"></script>