問題タブ [ajax-update]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
validation - 両方が必須に設定されている場合、別のドロップダウンに応じて値を使用してドロップダウンを設定する方法
フォームに「必須」が「true」に設定された空の要素がある場合<h:selectOneMenu>
、別の値に応じて値を自動的に設定する方法(または他のコンポーネント)を誰かに教えてもらえますか? <h:selectOneMenu>
設定する場合、<a4j:support event="onchange" reRender="anotherElement" immediate="true" />
変更された値が設定されていないため、何も変更されません。しかしimmediate="true"
、これまたはその要素を空にすることはできないというメッセージが常にあります。動作しないコード例を次に示します。
したがって、ここで (繰り返します)、「someSelect」を変更しようとすると、「anotherSelect」はその値を更新する必要がありますが、「someSelect」の値を取得しようとすると null (にimmediate
設定されている場合true
) または空の要素ではフォームの検証が失敗します。検証をスキップして、この変更された値を「someSelect」から取得するにはどうすればよいですか?
jsf - Primefaces-commandButtonによるデータテーブルの更新が機能しない
commandButtonでデータテーブルを更新することでいくつかの問題に直面しています。これはxhtmlファイルです:
問題は、アクションlistUsersController.deleteUserを実行するcommandButtonをクリックするときです。メソッドは正常に実行され、ユーザーは削除されます。ただし、データテーブルは更新されません。削除されたレコードがajaxのリストに表示されないようにしたい。
私はすでに、、、、でテストしましたが、何もupdate="@form"
機能しません。update="@parent"
update="@all"
update="usersList"
update=":list:usersList"
これは、managedBeanのメソッドです。
validation - 検証に失敗した後のPrimefacesJSFアップデートが機能しない
の検証と<p:inputText>
そのコンテンツの更新に問題があります。
基本的に、inputTextの検証が失敗した場合、それが再度更新されることはありません。
明確にするための簡単な例を次に示します。
フェイスレット:
テストBean:
「要素」の下にあるcommandLinksをクリックすると、入力フィールドが更新されますが、検証が失敗すると(入力テキストを空白のままにして、ページの他の部分をクリックするだけです)、入力の境界線が赤に変わります。その後、上記のcommandLinksをクリックしても、再度更新されることはありません。
何か案は?
jsf - ajax-updateしたいのに、rendered = "#{some}"のコンポーネントを別のコンポーネントにネストする必要があるのはなぜですか?
だから私はこれに近いいくつかの答えを見つけました、そして私は私が持っていた問題を解決するのに十分なものを見つけました。しかし、それでも、この周りの仕組みを理解することに興味があります。例を挙げて説明しましょう:
このような(短縮された)フェイスレット.xhtml
ページがあります。
さて、簡潔にするために、すべてのバッキングBeanコードを投稿するわけではありませんが、この種のものがあります。
はどこsearchResults
にありますかArrayList<Objects>
。検索後、それはnullではありません-複数のテストでチェックされます(nullになる可能性がありますが、私が行っているテストではチェックされません)。
今。これは動作しません。
dataTable
しかし、私が別の内部にネストすると、たとえばpanelGroup
、それは機能します。
現在、この変更により、すべてが正常に機能するようになりました。これで大丈夫だと思いますが…でも少し理解を求めていると思います。これらのコンポーネントをネストする必要がある理由についての洞察はありますか?きっと何かが足りない!
jsf - カスケードp:selectOneMenuモデル値が設定されていません
カスケードドロップダウン、単純なドロップダウン、および送信コマンドボタンがあるアプリケーションがあります。ドロップダウンからさまざまな基準を選択して、レポートをデータテーブルに表示したいと思います。子のドロップダウンから基準を選択する場合を除いて、すべて正常に機能します。管理対象Beanの値とはバインドしません(デバッグによって検出されます)。これが私のコードです:xhtml:
管理対象Beanコード:
Beanメソッド:
値がBeanの小道具にバインドされないのはなぜですか?どうすれば解決できますか?(私の懸念事項は、昨日同じコードが機能したことですが、今日同じコードを実行すると、問題が発生し始めました)。
編集:faces-config
jsf - f:ajax render での複合コンポーネント ID の参照
入力要素をラップし、「オプションのフィールド」指定とその下の h:message 要素でそれを拡張することを目的とした複合コンポーネントを作成しています。コンポーネントは次のとおりです (input.xhtml ファイル内)。
繰り返しになりますが、このコンポーネントの使用目的は、使用中のページで最初で直接の子であると予想される h:input* 要素をラップすることです。
using ページでは、次のように記述します。
これは、通常の投稿を使用して問題なく機能します。ただし、「入力 1」(id="i1") に f:ajax 検証を追加し、次を使用してコンポジット (ii1) を再レンダリングしようとすると、次のようになります。
ajax 応答処理中にブラウザーでエラーを生成します。
f1:ii1
、を使用してみ:f1:ii1
ましたが、役に立ちませんでした。私が使用するとき、msgId
または:f1:ii1:msgId
それが機能するとき。理由を知っている人はいますか?
Mojarra 2.1.3 を使用しています
ありがとう
jsf - Ajaxの更新/レンダリングは、属性をレンダリングしたコンポーネントでは機能しません
条件付きでレンダリングされたコンポーネントをajax-updateしようとしています。
ただし、それは機能しません。#{user}
私はそれが実際に利用可能であることを保証することができます。これはどのように発生し、どうすれば解決できますか?
jsf - どのコンポーネントを ajax で更新するかをプログラムで制御する
ユーザーがいくつかのフィールドに入力する複雑なフォームがあり、ライセンス ファイルを生成するか、変更を保存するという 2 つのオプションがあります。ユーザーが変更を保存せずにライセンス ファイルの生成ボタンをクリックすると、小さなコンポーネントがレンダリングされ、ライセンスを生成する前に保存するよう求めるエラー メッセージが表示されます。警告メッセージ付きのコンポーネントを表示するには、ajax を使用して、警告コンポーネントをレンダリングするためだけにページ全体をレンダリングしないようにします。もちろん、変更が保存されていれば、警告メッセージは不要で、ユーザーを別のページにリダイレクトします。変更が行われたことを検出するために、変更可能なフィールドに変更リスナーがあります。私が知らないのは、条件付き実行です。「保存されていない場合はajaxでレンダリング、保存されている場合はリダイレクト」の部分。これがロジックです
--編集-- あまりにもオープンなままにしていることがわかったので、さらに情報を追加します。更新可能なフィールドの例を次に示します。
fieldChange() Bean メソッド
ライセンス生成ボタン jsf は次のとおりです。
これが generateLicenseFile() メソッドです