在提交时禁用输入

Disable an input on submit

本文关键字:输入 提交      更新时间:2023-09-26

我想在提交时禁用输入,但它不起作用。我有一个选择,我希望如果它有一个特定的值,它就不会被传递到参数中(这里的值是"autres"),如果选择了这个值,就会出现一个输入,用户可以键入他们想要的内容。这是我所拥有的:

<select name="motif" id="motif" onChange="choix()">
                <option value="">-</option>
                <option value="formation">Formation</option>
                <option value="autres">Autres</option>
</select>
<div id="commentaire"></div>
<input type="submit" value="Envoyer ma demande" id="submit" onClick="disableMotif()"/>

Javascript

function choix()
{
    var i = document.getElementById("motif").value;
    var comment = document.getElementById("comment");
    if (i=='autres' && !comment)
      {
        $( "#commentaire" ).append( "<div id='"comment'"> Indiquez le motif : <input type='"text'" style='"margin-top:5px;'" name='"motif'" value='"'"/></div>" );
      }
      else{
        comment.parentNode.removeChild(comment);
      }
  }
function disableMotif()
{
    var i = document.getElementById("motif").value;
    var comment = document.getElementById("comment");
    if (i=='autres' && !comment)
      {
        $("#motif").prop('disabled', true);
      }
}

在提交时禁用输入的功能不起作用。我在参数中有2次"主题"。我该怎么做?

你看到这个了吗?使用jQuery禁用/启用输入?

它可能取决于您的jQuery版本。尝试使用attr方法而不是prop:

$("input").attr('disabled','disabled');

或直接:

$("#motif").disabled = true;

好吧,只是一个错误的if条件。我只需要检查:if (i=='autres')如果CCD_ 3没有显示