访问小部件上的值并发送到服务器

编程入门 行业动态 更新时间:2024-10-23 19:24:03
本文介绍了访问小部件上的值并发送到服务器的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我有一个从GXT 2.2.5库创建的接口,现在我需要从TextField获取用户输入的值并将其发送到服务器。我怎样才能让这个用户从文本框输入值?这里的示例代码:

package kz.bimash.client; 导入com.extjs.gxt.ui.client.widget.LayoutContainer; 导入com.extjs.gxt.ui.client.widget.LayoutContainer; import com.extjs.gxt.ui.client.widget.Slider; import com.extjs.gxt.ui.client.widget.VerticalPanel; import com.extjs.gxt.ui.client.widget.button.Button; import com.extjs.gxt.ui.client.widget.layout.FlowLayout; import com.extjs.gxt.ui.client.widget.layout.FormData; import com.extjs.gxt.ui.client.widget.layout.FormLayout; import com.google.gwt.i18n.client.NumberFormat; import com.google.gwt.user.client.Element; public class Form extends LayoutContainer { private VerticalPanel vp; private FormData formData; @Override protected void onRender(Element parent,int index){ super.onRender(parent,index); formData = new FormData( - 20); vp = new VerticalPanel(); vp.ensureDebugId(vps); vp.setSpacing(10); // createForm1(); createForm2(); add(vp); $ b private void createForm2(){ FormPanel form2 = new FormPanel(); form2.ensureDebugId(pan); form2.setFrame(true); form2.setHeading(带FieldSets的简单表单); form2.setWidth(350); form2.setLayout(new FlowLayout()); FieldSet fieldSet = new FieldSet(); fieldSet.setHeading(用户信息); fieldSet.setCheckboxToggle(true); FormLayout layout = new FormLayout(); layout.setLabelWidth(75); fieldSet.setLayout(layout); TextField< String> firstName = new TextField< String>(); firstName.setFieldLabel(First Name); firstName.ensureDebugId(firstName); firstName.setValue(olzheke); firstName.setAllowBlank(false); fieldSet.add(firstName,formData); TextField< String> lastName = new TextField< String>(); lastName.setFieldLabel(Last Name); lastName.setValue(firstName.getItemId()); fieldSet.add(lastName,formData); TextField< String> company = new TextField< String>(); company.setFieldLabel(Company); fieldSet.add(company,formData); TextField< String> email = new TextField< String>(); email.setFieldLabel(电子邮件); fieldSet.add(email,formData); form2.add(fieldSet); fieldSet = new FieldSet(); fieldSet.setHeading(电话号码); fieldSet.setCollapsible(true); layout = new FormLayout(); layout.setLabelWidth(75); fieldSet.setLayout(layout); TextField< String> field = new TextField< String>(); field.setFieldLabel(Home); fieldSet.add(field,formData); field = new TextField< String>(); field.setFieldLabel(Business); fieldSet.add(field,formData); field = new TextField< String>(); field.setFieldLabel(Mobile); fieldSet.add(field,formData); field = new TextField< String>(); field.setFieldLabel(Fax); fieldSet.add(field,formData); form2.add(fieldSet); form2.setButtonAlign(Horizo​​ntalAlignment.CENTER); form2.addButton(new Button(Save)); form2.addButton(new Button(Cancel)); vp.add(form2); } }

这里是EntryPoint实现的类,我要发送的内容:

package kz.bimash.client; 导入com.extjs.gxt.ui.client.widget.Document; import com.extjs.gxt.ui.client.widget.MessageBox; import com.extjs.gxt.ui.client.widget.form.FieldSet; import com.extjs.gxt.ui.client.widget.form.TextField; import com.extjs.gxt.ui.client.widget.layout.FlowLayout; import com.extjs.gxt.ui.client.widget.layout.FormData; import com.extjs.gxt.ui.client.widget.layout.FormLayout; import com.google.gwt.core.client.EntryPoint; import com.google.gwt.core.client.GWT; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; import com.extjs.gxt.ui.client.widget.form.FormPanel; import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.gwt.user.client.ui。*; public class GWTSample实现EntryPoint { private UserServiceAsync prox; 私人HTML标签1,button1; public void onModuleLoad(){ prox = GWT.create(UserService.class); // Window.enableScrolling(false); // Window.setMargin(0px); Form form = new Form(); form.setVisible(true); 按钮btn =新建按钮(Click me!); //最终RootPanel root = RootPanel.get(); final RootLayoutPanel root = RootLayoutPanel.get(); btn.addClickHandler(new ClickHandler(){ @Override public void onClick(ClickEvent event){ prox.getMsq(new AsyncCallback< String>() { @Override public void onFailure(Throwable caught){ //使用File | Settings | File Templates。} @Override public void onSuccess(String result){ // MessageBox.info(testing,this is ext gwt,null); } }); } }); TextField< String> tf =(TextField< String>)form.getItemByItemId(firstName); Label lab = new Label(); //lab.setText(tf.getValue()); // root.add(lab); root.get()。add(form); root.get()。add(btn); //Document.get()。getElementByID()} }

单击按钮时,我需要从Texfield中检索值并将其发送到服务器,我如何访问这些值?

解决为什么不在你的Form类中创建一个方法?

public class Form extends LayoutContainer { TextField< String>名字; public String getFirstName(){ return firstName.getValue(); $ b然后在onModuleLoad( )

public void onModuleLoad(){ ... final Form form = new Form() ; btn.addClickHandler(new ClickHandler(){ @Override public void onClick(ClickEvent event){ String firstName = form.getFirstName(); } ... } }

I have an interface created from GXT 2.2.5 library, now I need to get user entered values from TextField and send it to server. How can i get this user entered values from textfield? Here the sample code:

package kz.bimash.client; import com.extjs.gxt.ui.client.widget.LayoutContainer; import com.extjs.gxt.ui.client.widget.LayoutContainer; import com.extjs.gxt.ui.client.widget.Slider; import com.extjs.gxt.ui.client.widget.VerticalPanel; import com.extjs.gxt.ui.client.widget.button.Button; import com.extjs.gxt.ui.client.widget.layout.FlowLayout; import com.extjs.gxt.ui.client.widget.layout.FormData; import com.extjs.gxt.ui.client.widget.layout.FormLayout; import com.google.gwt.i18n.client.NumberFormat; import com.google.gwt.user.client.Element; public class Form extends LayoutContainer { private VerticalPanel vp; private FormData formData; @Override protected void onRender(Element parent, int index) { super.onRender(parent, index); formData = new FormData("-20"); vp = new VerticalPanel(); vp.ensureDebugId("vps"); vp.setSpacing(10); //createForm1(); createForm2(); add(vp); } private void createForm2() { FormPanel form2 = new FormPanel(); form2.ensureDebugId("pan"); form2.setFrame(true); form2.setHeading("Simple Form with FieldSets"); form2.setWidth(350); form2.setLayout(new FlowLayout()); FieldSet fieldSet = new FieldSet(); fieldSet.setHeading("User Information"); fieldSet.setCheckboxToggle(true); FormLayout layout = new FormLayout(); layout.setLabelWidth(75); fieldSet.setLayout(layout); TextField<String> firstName = new TextField<String>(); firstName.setFieldLabel("First Name"); firstName.ensureDebugId("firstName"); firstName.setValue("olzheke"); firstName.setAllowBlank(false); fieldSet.add(firstName, formData); TextField<String> lastName = new TextField<String>(); lastName.setFieldLabel("Last Name"); lastName.setValue(firstName.getItemId()); fieldSet.add(lastName, formData); TextField<String> company = new TextField<String>(); company.setFieldLabel("Company"); fieldSet.add(company, formData); TextField<String> email = new TextField<String>(); email.setFieldLabel("Email"); fieldSet.add(email, formData); form2.add(fieldSet); fieldSet = new FieldSet(); fieldSet.setHeading("Phone Numbers"); fieldSet.setCollapsible(true); layout = new FormLayout(); layout.setLabelWidth(75); fieldSet.setLayout(layout); TextField<String> field = new TextField<String>(); field.setFieldLabel("Home"); fieldSet.add(field, formData); field = new TextField<String>(); field.setFieldLabel("Business"); fieldSet.add(field, formData); field = new TextField<String>(); field.setFieldLabel("Mobile"); fieldSet.add(field, formData); field = new TextField<String>(); field.setFieldLabel("Fax"); fieldSet.add(field, formData); form2.add(fieldSet); form2.setButtonAlign(HorizontalAlignment.CENTER); form2.addButton(new Button("Save")); form2.addButton(new Button("Cancel")); vp.add(form2); } }

Here is the EntryPoint implemented class, where i am going to send:

package kz.bimash.client; import com.extjs.gxt.ui.client.widget.Document; import com.extjs.gxt.ui.client.widget.MessageBox; import com.extjs.gxt.ui.client.widget.form.FieldSet; import com.extjs.gxt.ui.client.widget.form.TextField; import com.extjs.gxt.ui.client.widget.layout.FlowLayout; import com.extjs.gxt.ui.client.widget.layout.FormData; import com.extjs.gxt.ui.client.widget.layout.FormLayout; import com.google.gwt.core.client.EntryPoint; import com.google.gwt.core.client.GWT; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; import com.extjs.gxt.ui.client.widget.form.FormPanel; import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.gwt.user.client.ui.*; public class GWTSample implements EntryPoint { private UserServiceAsync prox; private HTML label1, button1; public void onModuleLoad() { prox = GWT.create(UserService.class); // Window.enableScrolling(false); // Window.setMargin("0px"); Form form = new Form(); form.setVisible(true); Button btn = new Button("Click me!"); // final RootPanel root=RootPanel.get(); final RootLayoutPanel root = RootLayoutPanel.get(); btn.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { prox.getMsq(new AsyncCallback<String>() { @Override public void onFailure(Throwable caught) { //To change body of implemented methods use File | Settings | File Templates. } @Override public void onSuccess(String result) { // MessageBox.info("testing","this is ext gwt",null); } }); } }); TextField<String> tf = (TextField<String>) form.getItemByItemId("firstName"); Label lab = new Label(); //lab.setText(tf.getValue()); // root.add(lab); root.get().add(form); root.get().add(btn); //Document.get().getElementByID() } }

when the button is clicked i need to retreive values from Texfield and send it to server, how can i access those values?

解决方案

why don't you just make a method in your Form class?

public class Form extends LayoutContainer { TextField<String> firstName; public String getFirstName(){ return firstName.getValue(); } ... }

Then in onModuleLoad()

public void onModuleLoad() { ... final Form form = new Form(); ... btn.addClickHandler(new ClickHandler() { @Override public void onClick(ClickEvent event) { String firstName =form.getFirstName(); } ... } }

更多推荐

访问小部件上的值并发送到服务器

本文发布于:2023-11-23 01:22:23,感谢您对本站的认可!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:部件   服务器

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!