在提交时禁用输入

时间:2015-12-07 14:19:33

标签: javascript jquery

我想在提交时禁用输入,但它没有用。我有一个选择,我希望如果它有一个特定值,它不会被传递参数(这里的值是" 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次&#34; motif&#34;。我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

你看到这个吗? Disable/enable an input with jQuery?

这取决于你的jQuery版本。尝试使用attr方法而不是prop:

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

或直接:

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

答案 1 :(得分:0)

嗯,只是一个错误的if条件。我只需要检查:if (i=='autres') 而不是comment没有显示