0

送信ボタンがクリックされるまで、2 つのボタンを非アクティブ化する方法を知る必要があります。別の 2 つのボタンを非アクティブ化する Javascript コードを使用していますが、機能しません。

ここに私のフォームがあります:

<form name="receta" id="receta" method="post">
    <div class="row-fluid grid">
        <div class="span4">
            <label><b>Lugar: </b></label>
            <input type="text" class="input-block-level" value="" name="lugar" />
        </div>
        <div class="span4">
            <label><b>Nombre : </b></label>
            <input type="text" class="input-block-level" value="" name="nombre" />
        </div>
        <div class="span4">
            <label><b>Edad : </b></label>
            <input type="text" class="span4" value="" name="edad" />
        </div>
    </div>
    <div class="row-fluid grid">
        <div class="span4">
            <b>Pr&oacute;xima cita : </b>
            Ejemplo: En 5 semanas &oacute; 30 d&iacute;as.....
                <input class="input-block-level" name="receta" maxlength="50" value="" />      
        </div>
    </div>
<div class="row-fluid grid">
        <div class="span4">
    <button class="btn btn-inverse" type="submit" name="enviar" id="boton1" onclick="boton(this)">
         <i class="icon icon-save icon-white"></i> 
        <?php echo $translate->__('Save Prescription'); ?>
    </button>
</div>
<div class="span4">
    <a class="btn btn-primary" href="receta_edit.php" type="button" id="boton2" onclick="boton(this)" >
        <i class="icon icon-edit icon-white"></i> 
        <?php echo $translate->__('Edit Previous Prescription'); ?>
    </a>
</div>
<div class="span4">
    <a class="btn btn-info" href="imprecetahoy.php" type="button" id="boton2" target="popup" onClick="window.open(this.href, this.target, 'scrollbars=yes,toolbar=no,menubar=no,status=no,width=parent,height=parent'); return false;" onclick="boton(this)">
    <i class=" icon-print icon-white"></i>
    <?php echo $translate->__('View/Print last Prescription'); ?>
    </a>
</div>
</div>
</form> 

これは私が使用しようとしているJavascriptです:

<script>
    function boton (obj)
    {
        if(obj.value=='boton 1')
        { document.getElementById('boton1').disabled="false";
        }
        if(obj.value=='boton 2')
        { document.getElementById('boton2').disabled="true";
        }
    }
</script>

jsfiddle のスクリプトは次のとおりです。

http://jsfiddle.net/HDx8E/

4

2 に答える 2

0

私はあなたの質問に少し混乱しています。スクリプトは次のことのみを行います。

  • をクリックした場合boton1は無効にします。
  • boton2をクリックすると、有効になります。

つまり、送信ボタンをクリックすると、送信ボタンが無効になります。私が理解しているので、これはあなたの意図とは何の関係もありません。

私を許して; スペイン語がわかりません。submitただし、クリックされるまで次の2つの要素を非アクティブにすることが必要なようです(これはですboton1)。

<a class="btn btn-primary" href="receta_edit.php"  id="boton2" onclick="boton(this)" >

<a class="btn btn-info" href="imprecetahoy.php" target="popup" 
    onClick="window.open(this.href, this.target, 'scrollbars=yes,toolbar=no,
    menubar=no,status=no,width=parent,height=parent'); return false;"  
    id="boton2" onclick="boton(this)">

ここでの問題は、これらのリンクの両方が同じ ID ( boton2) を持っていることです。それらの名前を一意に変更し、できれば や などのより意味のある名前に変更する必要がreceta_edit_linkありimprecetahoy_linkます。

次に、ページが読み込まれるときにこれらの両方を無効にし、送信ボタンが次のようにクリックされたときにのみ有効にすることができます。

<script>
    function boton(obj) {
        if(obj.value == 'boton1') {
            document.getElementById('receta_edit_link').disabled='true';
            document.getElementById('imprecetahoy_link').disabled='true';
        }
    }
</script>
于 2013-08-14T20:20:38.117 に答える