根据下拉选择更改表单目标

change form target based on dropdown selection

本文关键字:表单 目标 选择      更新时间:2023-09-26

我希望每个下拉选项有一个目标"_blank"除了选项4。如何根据表单中选择的选项切换目标器?

    <form action="mypage.php" method="post" target="_blank" />
<input type="hidden" name="turnaround" value="20">
<table>
    <tr>
        <td>Platform</td>
        <td>
            <select required id="cu" name="plat" style="min-width: 120px;">
                <option value="1">1</option>
                <option value="2">2 (Desktop Only)</option>
                <option value="3">3 (Mobile Only)</option>
                <option value="4">4 (Wildcard)</option>
                <option value="5">Catch-All</option>        
            </select>
        </td>
    </tr>
    <tr>
        <td colspan="2">&nbsp;</td>
    </tr>
</table>
<div><input type="submit" value="Select Platform" /></div>
</form>

检查这个提琴

js:

$("#cu").on("change",function(){
    var a = $(this).val();
    if(a == "4"){
         $("#formId").removeAttr("target")
    }else{
    $("#formId").attr("target","_blank")
    }
})

给你的表单一个id:

<form action="mypage.php" id="myForm" method="post" target="_blank" />
<input type="hidden" name="turnaround" value="20">
<table>
    <tr>
        <td>Platform</td>
        <td>
            <select required id="cu" name="plat" style="min-width: 120px;">
                <option value="1">1</option>
                <option value="2">2 (Desktop Only)</option>
                <option value="3">3 (Mobile Only)</option>
                <option value="4">4 (Wildcard)</option>
                <option value="5">Catch-All</option>        
            </select>
        </td>
    </tr>
    <tr>
        <td colspan="2">&nbsp;</td>
    </tr>
</table>

你js:

$('#myForm').attr("target") = $('#cu').val() == "4" ? "" : "_blank";

未测试,但应该可以运行

可能你想给类或id提交按钮。

$('input[type=submit]').click(function(e){
    if($('#cu').val() == '4'){
        $(this).closest('form').prop('target','');    
    }  
});