From f94207dd865b57da536eb4ac068576ceadef9cc8 Mon Sep 17 00:00:00 2001 From: yumoqing Date: Sat, 30 May 2026 10:48:32 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20view=5Fassets=20form=20submit=20?= =?UTF-8?q?=E2=80=94=20use=20script=20bind=20instead=20of=20urlwidget?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Remove submit_url + submited/urlwidget pattern (event.params is Response object, not widget descriptor, causes silent failure). Replace with submit event + actiontype:script that manually POSTs form data via fetch() and renders response widget tree via bricks.widgetBuild. --- wwwroot/view_assets.ui | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/wwwroot/view_assets.ui b/wwwroot/view_assets.ui index d28c0b2..9a9450b 100644 --- a/wwwroot/view_assets.ui +++ b/wwwroot/view_assets.ui @@ -18,7 +18,6 @@ "widgettype": "Form", "id": "view_assets_form", "options": { - "submit_url": "{{entire_url('api/submit_list_assets.dspy')}}", "fields": [ { "uitype": "code", @@ -35,13 +34,10 @@ "binds": [ { "wid": "self", - "event": "submited", - "actiontype": "urlwidget", - "target": "app.rl_asset_results", - "options": { - "method": "POST" - }, - "mode": "replace" + "event": "submit", + "actiontype": "script", + "target": "self", + "script": "(async function(){var form=bricks.getWidgetById('view_assets_form',bricks.app);if(!form)return;var vals=form._getValue();var params=new URLSearchParams();for(var k in vals){if(vals[k]!==undefined&&vals[k]!==null)params.append(k,vals[k])}var url=bricks.app.baseUrl+'/reallife_asset/api/submit_list_assets.dspy?_webbricks_=1';var resp=await fetch(url,{method:'POST',body:params});var desc=await resp.json();var target=bricks.getWidgetById('rl_asset_results',bricks.app);if(!target)return;if(target.destroy_subwidgets)target.destroy_subwidgets();target.subwidgets=[];target.el.innerHTML='';if(desc&&desc.widgettype){await bricks.widgetBuild(desc,target)}})()" } ] },