从下拉列表中未选择任何选项时禁用按钮

时间:2018-01-09 12:55:42

标签: javascript php jquery html

我有一个输入类型按钮(它不能是提交类型,因为它触发了表单中的辅助操作),如果在前一个下拉选择器上没有选择,我需要保持禁用状态。我没有尝试过:thisthisthis以及其他一些......

这是我的表单代码:

echo "<select class='corpusname' id='corpusname' size='1' name='corpusname' required />
<option value=''>Select a corpus</option>";

// This query gives the other options from a database
$result = mysqli_query($db, "SELECT * FROM corpus_info") or die(mysqli_error($db));
while($cpsmlg = mysqli_fetch_array($result)){
echo "<option value='".$cpsmlg['corpus']."'>".$cpsmlg['title']."</option>";
}
echo "</select>
<a id='theLink' target='_blank'>

// This is the button to be disabled
<input type='button' id='seedoc' class='seedoc' value='See doc' /></a>";

4 个答案:

答案 0 :(得分:3)

只需向onchange添加select个活动。

function enableButton()
{
    var selectelem = document.getElementById('corpusname');
    var btnelem = document.getElementById('seedoc');
    btnelem.disabled = !selectelem.value;
}
<select class='corpusname' id='corpusname' size='1' name='corpusname' required onchange="enableButton()"/>
<option value=''>Select a corpus</option>
<option value="1">1</option>
</select>
<input type="button" id="seedoc" disabled value="Submit">

答案 1 :(得分:0)

这是一个没有php部分的小片段,php部分仍然是相同的。

function ValidateDropDwon(dd){
  var input = document.getElementById('seedoc')
  if(dd.value == '') input.disabled = true; else input.disabled = false;
}
<select class='corpusname' id='corpusname' size='1' name='corpusname' required onchange="ValidateDropDwon(this)">
     <option value=''>Select a corpus</option>
     <option value='test'>test</option>
</select>

<input type='submit' id='seedoc' class='seedoc' disabled value='See doc' />

答案 2 :(得分:0)

因为你列出jQuery我会在这里使用它。

echo "<select class='corpusname' id='corpusname' size='1'
              name='corpusname' required onChange='enableButton()' />
      <option value=''>Select a corpus</option>";

// This query gives the other options from a database
$result = mysqli_query($db, "SELECT * FROM corpus_info") or die(mysqli_error($db));
while($cpsmlg = mysqli_fetch_array($result)){
    echo "<option value='".$cpsmlg['corpus']."'>".$cpsmlg['title']."</option>";
}
echo "</select>

<a id='theLink' target='_blank'>

// This is the button to be disabled
<input type='button' id='seedoc' class='seedoc' disabled value='See doc' /></a>";

然后页面上的一些javascript来完成onchange()

<script type="text/javascript">
    function enableButton(){
      $("#seedoc").prop('disabled', false);
    }
</script>

我会支票if corpusname = ''...,但不会将其更改回'',因此onChange()就足够了。

答案 3 :(得分:0)

如果你有Jquery,你可以使用它(EASIEST):

git commit -a