【salesforce】System.QueryException: invalid ID field: null がでたってさ【salesforce】API 要求数の確認方法だゼイ。

2012年08月28日

【salesforce】確認ダイアログ出したいけど出ない場合があるゼイ。



ぬぬ。

ダイアログがでるぞーーーーー。

けど、そのあとのアクションがーうごかねーーー。 

なんでじゃいーーー。



えーっと、てな感じでまずは、確認ダイアログ出すやつね。 

apex:commandButtonなのどactionを実行する前に確認ダイアログ出すのは下記の書き方だぜい。

チョイlogだゼイ。

VFの一部


<script> function check() { if (window.confirm('消すっすよ?')) { return true; } return false; } </script> <apex:form > <apex:commandButton action="{!delete}" onclick="return check();" value="削除" /> </apex:form>

Apexの一部

public Pgagereference delete(){ //削除する処理がかいてある想定 return null }

まー上記の書き方は問題ないんだが、apex:commandButtonタグなどの属性であるreRenderを使うと動かなくなっしまうゼイ。

こんな感じのことだゼイ。


<apex:outputPanel id="messageArea"> <apex:pageMessages id="sfPageMessages"/> </apex:outputPanel> <apex:form > <apex:commandButton action="{!delete}" onclick="return check();" reRender="messageArea" value="削除" /> </apex:form>

reRender="messageArea"
をつかちゃうとだめみたいだゼイ。

確確認ダイアログで、はい、いいえを両方を選んでもactionが実行されないゼイ。


なんでかとおもって吐き出されたコードを見てみると

onclickの処理にこんなのが吐き出されていた。


「onclick="return check();;A4J.AJAX.Submit(・・・・・・・・・・・);return false;"」

・・・・・・・・・・はなんかいろいろかいってあったから略しましたゼイ。


return check()をやっちまうことで、そのあとの処理のA4J.AJAX.Submiが実行されなくなってしまうのが原因のようだゼイ。


なのでonclickの書き方を変更してみたゼイ。

<apex:form > <apex:commandButton action="{!delete}" onclick="if(!check()){return false}" reRender="messageArea" value="削除" /> </apex:form>

ダイアログでいいえを選んだ時だけ、returnするって感じだゼイ。


これで想定のうごきにはなったゼイ。


マーとりあえずってことで、これでやり過ごすゼイ。








volvic_beer at 23:00│Comments(0)TrackBack(0) salesforce 

トラックバックURL

コメントする

名前
 
  絵文字
 
 
【salesforce】System.QueryException: invalid ID field: null がでたってさ【salesforce】API 要求数の確認方法だゼイ。