Post 使用具有不同操作的单选按钮提交
Post submit using radio buttons with different action
我想使用 POST(不是 GET)发送信息
我有一个包含 50 个项目的列表,每个项目都有两个图标(单选按钮):
item1
<label style='cursor: pointer;'>
<input type='radio' name='video' id='video' value='123ASD'/>
<img src='mp4-icon.png' width='20' align=middle style='border:0;'/>VIDEO
</label>
<label style='cursor: pointer;'>
<input type='radio' name='mp3' id='mp3' value='XYZ890'/>
<img src='mp3-icon.png' width='20' align=middle style='border:0;'/>MP3
</label>
item2
<label style='cursor: pointer;'>
<input type='radio' name='video' id='video' value='456FGH'/>
<img src='mp4-icon.png' width='20' align=middle style='border:0;'/>VIDEO
</label>
<label style='cursor: pointer;'>
<input type='radio' name='mp3' id='mp3' value='ERT234'/>
<img src='mp3-icon.png' width='20' align=middle style='border:0;'/>MP3
</label>
item3...
<label style='cursor: pointer;'>
<input type='radio' name='video' id='video' value='789BNM'/>
<img src='mp4-icon.png' width='20' align=middle style='border:0;'/>VIDEO
</label>
<label style='cursor: pointer;'>
<input type='radio' name='mp3' id='mp3' value='JKL456'/>
<img src='mp3-icon.png' width='20' align=middle style='border:0;'/>MP3
</label>
视频按钮必须将信息发送到 video.php,如果用户按下 MP3 单选按钮将是 mp3.php,并且信息需要在 POST 方法中。
我不希望每个项目都有大量
你可以像这样在每个单选按钮上放置onclick事件,它会改变表单的动作并根据点击的按钮提交。
function change_action(name){
var form = document.getElementById("form")
alert(name);
if(name =='video'){
form.action = 'video.php';
}
else{
form.action = 'mp3.php';
}
form.submit();
alert(form.action);
}
<label style='cursor: pointer;'>
<input type='radio' onclick="change_action(this.name)" name='video' id='video' value='123ASD'/>
<img src='mp4-icon.png' width='20' align=middle style='border:0;'/>VIDEO
</label>
<label style='cursor: pointer;'>
<input type='radio' name='mp3'onclick="change_action(this.name)" id='mp3' value='XYZ890'/>
<img src='mp3-icon.png' width='20' align=middle style='border:0;'/>MP3
</label>
<form method="post" id="form" action="video.php">
执行此任务不需要加载 jquery 库。
但如果你仍然想用 jquery 来做,你可以试试这个:
<script>
$('input[type=radio]').on('change', function() {
if(this.name == 'video'){
$('#form').attr('action','video.php');
}
else{
$('#form').attr('action','mp3.php');
}
$('#form').submit();
});
</script>
我想使用 POST(不是 GET)发送信息
我有一个包含 50 个项目的列表,每个项目都有两个图标(单选按钮):
item1
<label style='cursor: pointer;'>
<input type='radio' name='video' id='video' value='123ASD'/>
<img src='mp4-icon.png' width='20' align=middle style='border:0;'/>VIDEO
</label>
<label style='cursor: pointer;'>
<input type='radio' name='mp3' id='mp3' value='XYZ890'/>
<img src='mp3-icon.png' width='20' align=middle style='border:0;'/>MP3
</label>
item2
<label style='cursor: pointer;'>
<input type='radio' name='video' id='video' value='456FGH'/>
<img src='mp4-icon.png' width='20' align=middle style='border:0;'/>VIDEO
</label>
<label style='cursor: pointer;'>
<input type='radio' name='mp3' id='mp3' value='ERT234'/>
<img src='mp3-icon.png' width='20' align=middle style='border:0;'/>MP3
</label>
item3...
<label style='cursor: pointer;'>
<input type='radio' name='video' id='video' value='789BNM'/>
<img src='mp4-icon.png' width='20' align=middle style='border:0;'/>VIDEO
</label>
<label style='cursor: pointer;'>
<input type='radio' name='mp3' id='mp3' value='JKL456'/>
<img src='mp3-icon.png' width='20' align=middle style='border:0;'/>MP3
</label>
视频按钮必须将信息发送到 video.php,如果用户按下 MP3 单选按钮将是 mp3.php,并且信息需要在 POST 方法中。
我不希望每个项目都有大量
你可以像这样在每个单选按钮上放置onclick事件,它会改变表单的动作并根据点击的按钮提交。
function change_action(name){
var form = document.getElementById("form")
alert(name);
if(name =='video'){
form.action = 'video.php';
}
else{
form.action = 'mp3.php';
}
form.submit();
alert(form.action);
}
<label style='cursor: pointer;'>
<input type='radio' onclick="change_action(this.name)" name='video' id='video' value='123ASD'/>
<img src='mp4-icon.png' width='20' align=middle style='border:0;'/>VIDEO
</label>
<label style='cursor: pointer;'>
<input type='radio' name='mp3'onclick="change_action(this.name)" id='mp3' value='XYZ890'/>
<img src='mp3-icon.png' width='20' align=middle style='border:0;'/>MP3
</label>
<form method="post" id="form" action="video.php">
执行此任务不需要加载 jquery 库。 但如果你仍然想用 jquery 来做,你可以试试这个:
<script>
$('input[type=radio]').on('change', function() {
if(this.name == 'video'){
$('#form').attr('action','video.php');
}
else{
$('#form').attr('action','mp3.php');
}
$('#form').submit();
});
</script>