1

Liferayポータル6.1.1CEを使用しています。

私のliferayポートレットのjspページ-view.jspには、2つのテキストフィールドと2つのラジオボタン(ユーザーは1つしか選択できません)と送信ボタンを備えたフォームがあります。

ラジオボタンのいずれかをクリックすると、正常に機能しているスクリプト関数に制御が移ります。

次に、2つのテキストフィールドの値をスクリプト関数に渡します。たくさん試しましたが、無駄です。

どうすればこれを達成できますか?

助けて..よろしくお願いします。

<script>
    function dif()
    {

    }
</script>
<form name="<portlet:namespace/>fm" method="post" action="<%=updateBookURL.toString()%>">
    <table>
        <tr>
            <th>Leave Application</th>
        </tr>
        <tr>
            <td>Employee <font color=red>*</font></td>
            <td>
                <input type="text" name="<portlet:namespace/>name"/>
                <input type="text" name="<portlet:namespace/>eid"  />
        </tr>

            <td>
                Date <font color=red>*</font>
                <input type="text" id="<portlet:namespace/>fd" name="<portlet:namespace/>
            </td>
            <td>
            <input type="radio" name="<portlet:namespace/>f" id="f" value="1st half" onClick="f()"/>
            First Half&=
            <input type="radio" name="<portlet:namespace/>f" id="f" value="2ndhalf" onClick="f()"/>
            Second Half
            </td>
        </tr>

        <tr>
            <td></td>
            <td><input type="submit" value="save data" size="100px"/></td>
        </tr>
    </table>
</form>
4

2 に答える 2

3

javascript関数でテキストの値を取得することは、liferayでは新しいことではありません。これは、昔ながらのjavascriptです。以下は、役立つリンクと例です(私が書いたコードは、<script> ... </script>タグ内で定義したカスタム関数に組み込まれます)。

  1. 以下を使用して入力テキスト値を取得します。

    var fdTextValue = document.getElementById("<portlet:namespace/>fd").value;
    
  2. jQueryを使用して入力テキスト値を取得します(Liferay-6以降、デフォルトでAlloy UIが含まれているため、ポートレットまたはテーマにjQueryライブラリを含める必要があるという唯一の問題があります)。

    var fdTextValue = $("#<portlet:namespace/>fd").val();
    /* or */ 
    var fdTextValue = $("#<portlet:namespace/>fd").attr('value');
    
  3. LiferayのAlloyUIを使用して入力テキスト値を取得します。

    AUI().use(function(A) {
        var fdTextValue = A.one('#<portlet:namespace/>fd').get('value');
        /* or */ 
        var fdTextValue = A.one('#<portlet:namespace/>fd').val();
    });
    

    次のリンクのいくつかは、AlloyUIの使用にも役立つ場合があります。

    1. AlloyUIを使用した要素とイベントの操作
    2. Alloy UI API
于 2012-12-11T08:05:06.163 に答える
0

とても簡単です。

thenのクリックイベントでjsでこの関数を定義します。

<script>
function callFun()
{
      // Here you can use jquery easily
      var name = $("#name").val();
      alert(name);
}
</script>
于 2014-01-31T11:30:26.100 に答える