5

私はJavascriptが初めてで、それをよりよく理解しようとしています。POSTのデータを使用して、phpによって生成されたフォームがあります。フォームには、検証後に値が入力されるはずの非表示のフォーム フィールドがいくつかあります。

関連する HTML コード:

<form action="" method="post" name="FormProcessor">
<b>Domain Name: </b>
<input type="text" name="MAIN_DOMAINNAME" value="" id="DomainField">
<input type="hidden" name="CONF_FILE" value="" id="ConfFile">
<div id="infomsg">

Javascript コード:

$(document).ready (function()
{
    $('#DomainField').blur(function() {
        var DomField=$("#DomainField");
        var DomText=DomField.val();     
        var fold="/var/lib/bind/db.";
        alert(fold+DomText);
        var ConfFile=$("#ConfFile");
        ConfFile.val(fold+DomText);
        ConfFile.show();
    });
});

<input>前のフィールドのフォーカスが失われたときに、2 番目のフィールドを「非表示」にしようとしています。関数が実行され、アラートが表示されます。

ソースを確認すると、次のように表示されていることがわかります。

<input type="hidden" id="ConfFile" value="/var/lib/bind/db.g.com" name="CONF_FILE" style="display: inline;">

したがって、値が伝播されるため、オブジェクトを適切にアドレス指定しました。表示されないのはなぜですか?

4

5 に答える 5

1

As per your code input type is hidden and same is not shown even doing show forcefully as hidden have property to hide existence of control.So you need to change your input type.

You can replace your hidden

<input type="hidden" id="ConfFile" value="/var/lib/bind/db.g.com" name="CONF_FILE" style="display: inline;">

to

<input type="text" id="ConfFile" value="/var/lib/bind/db.g.com" name="CONF_FILE" style="display: none;">

or

<input type="label" id="ConfFile" value="/var/lib/bind/db.g.com" name="CONF_FILE" style="display: none;">
于 2013-07-24T07:01:03.373 に答える