如何验证用户 select 以 select 形式编辑

How to validate that the user selected in select form

我有 select 表格:

<form method="post" name="posting_txt" onSubmit="return blank_post_check();" id="post_txt">
        <select  style="background: transparent; border-bottom:5px;" name="subname" class="required">                           
            <option value="" > Choose subject </option> 
            <option value="aaa" > AAA </option>     
            <option value="bbb" > BBB </option>
        </select> 
    <input type="submit" value="post" name="txt" class="btn" id="post_button" onClick="time_get()">
</form>

我想在用户按下 "post" 但没有选择主题时放置警告标签

编辑- 感谢 maihan 的回答我可以修复它:

   function time_get()
   {
        var selected = document.getElementById("select_post_id");
        var selectedVal = selected.options[selected.selectedIndex].value;
       if(selectedVal != ""){
          //do whatever
       }else{alert('select an option');}
    }

将逻辑放在您拥有的 time_get() 函数中。

if(document.getElementsByTagName(select).value ==''){
      alert("Select an option")
}

如果 select 没有值,您可以在表单上添加一个事件处理程序以防止提交它,然后显示警告或 add/unhide 警告 <label>

$('form#post_txt').submit(function(event){
    var subname = $('select[name="subname"]').val()
    if(subname === null || subname === "") {
        event.preventDefault();
        //warn user
    }
});

我还建议在您的第一个 select 选项上添加 selected="selected" 作为属性,这样它会从一开始就被 select 编辑,而不是空白 select.

Maihan 的回答很好,但为了改进,我会先设置 'Choose Subject'、'NULL' 的值,然后使用 if 语句

进行验证
<form method="post" name="posting_txt" onSubmit="return blank_post_check();" id="post_txt">
    <select  style="background: transparent; border-bottom:5px;" name="subname" class="required">                           
        <option value=NULL > Choose subject </option> 
        <option value="aaa" > AAA </option>     
        <option value="bbb" > BBB </option>
    </select> 
<input type="submit" value="post" name="txt" class="btn" id="post_button" onClick="time_get()">

那么...js...

function time_get(){
   if(document.getElementByClassName(required) != NULL){
      //do whatever
   }else{alert('select an option')}
}