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

change form target based on dropdown selection

我希望除选项 4 之外的每个下拉选项都有一个目标“_blank”。如何根据在表单中选择的选项切换目标?

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

给你的表格一个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";

未测试但应该有效

可能是您想给 class 或 id 来提交按钮。

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

勾选这个fiddle

js:

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

})