2017-02-14 5 views
-4

これは私のhtmlコードです。登録番号とブランチからロール番号を直接生成するにはどうすればよいですか? たとえば、reg no = 20140087およびbranch = BTの場合、ロールナンバーセクションでは、reg。 noとbranchは自動的に14/BT/_となります。私は_に数字を入力する必要があります。 14は、2014年の国連番号から来るだろう。あるフィールドの入力を別のフィールドにコピーする方法は?

<br><br><label>Registration Number: </label> 
      <input id="reg" class="text-input" type="text" name="registrationnumber" placeholder="20140087" required> 
      <br><br><label>Branch: </label> 
      <select style="float:right;"> 
       <option value="bt">BT</option> 
       <option value="ch">CH</option> 
       <option value="ce">CE</option> 
       <option value="cse">CSE</option> 
       <option value="ece">ECE</option> 
       <option value="ee">EE</option> 
       <option value="it">IT</option> 
       <option value="me">ME</option> 
       <option value="mme">MME</option> 
      </select> 

      <br><br><label>Roll No: </label> 
      <input id="roll" class="text-input" type="text" name="roll" placeholder="14/IT/11" required> 

答えて

0

このようにコードを書くことができます。 regNoが固定書式であり、これ以上のものを書くことができます。

var regNo = "20140087"; 
    var branch = "BT"; 
    var textBoxVal = regNo.substring(4,2).concat('/',branch,'/'); 
    $('#roll').val(rollNo) 

うまくいけば、これはあなたに

+0

val(rolNo)は何ですか? – ABBN

+0

'$( '#myElementID').Val(myVal);' id = 'myElementID'の要素の値を' myVal'の値に設定するので、ロール要素の値をrollNoに設定します –

0

を助けるここにあなたのための出発点(I made up some HTML IDs for the jsfiddle)があります。

function updateYT() { 
    var reg = jQuery('#reg'); 
    var branch = jQuery('#branch'); 
    var roll = jQuery('#roll'); 
    var yt = jQuery('#yt'); 
    if (!reg || !branch || !roll || !yt) { 
    console.log("ERROR: Input field not found!"); 
    return false; 
    } 

    var regstr = reg.val(); 
    if (regstr.length < 4) { 
    console.log("Reg string is too short"); 
    return false; 
    } else { 
    regstr = regstr.substring(2, 4); 
    console.log('REGSTR:'); 
    console.log(regstr); 
    } 

    var branchstr = branch.val(); 
    if (branchstr.length < 2) { // Or whatever is valid 
    console.log("Branch string is too short"); 
    return false; 
    } 

    var rollstr = roll.val(); 
    if (rollstr.length < 1) { // Or whatever is valid 
    console.log("Roll string is too short"); 
    return false; 
    } 

    var ret = branchstr + '/' + regstr + '/' + rollstr; 
    yt.val(ret); 
} 

EDIT:jQueryのを使用して習慣を強制していますが、当然のもuse getElementById代わりにすることができます。

+0

ロール入力からこの関数を呼び出すにはどうすればよいですか? – ABBN

+0

残りのコードを投稿する前に私はフィドルを書いていましたが、それでもあなたの役に立つかもしれません。私は、このような場合には、通常はサフィックス(ユーザーが入力したときは「_」部分)のみを取得し、すべての連結をユーザーの入力から安全に離して行う方が簡単であることを発見しました。これは、多くのエラーチェックを排除し、ユーザに強制的に "14/BT /"プレフィックスを残すように強制します。必要に応じて、そのプレフィックスを[このような]テキストボックス(https://jsfiddle.net/4wvsumua/4/)以外のユーザーにいつでも表示することができます。それを呼び出すことに関しては、フィドルでは、それは入力の 'onchange'イベント –

関連する問題