Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Codenameone 如何使用html和javascript中的单选按钮插入CN1中的数据库_Codenameone - Fatal编程技术网

Codenameone 如何使用html和javascript中的单选按钮插入CN1中的数据库

Codenameone 如何使用html和javascript中的单选按钮插入CN1中的数据库,codenameone,Codenameone,当选中单选按钮并将其插入sqlite数据库和mysql时,我试图获取html页面中单选按钮的值。以下是我的完整代码: Form hi = new Form("Hi World"); final WebBrowser b = new WebBrowser(){ @Override public void onLoad(String url) { // Placed on onLoad because we need to wait for page // to load

当选中单选按钮并将其插入sqlite数据库和mysql时,我试图获取html页面中单选按钮的值。以下是我的完整代码:

Form hi = new Form("Hi World");


final WebBrowser b = new WebBrowser(){
 @Override
 public void onLoad(String url) {
    // Placed on onLoad because we need to wait for page 
    // to load to interact with it.

    BrowserComponent c = (BrowserComponent)this.getInternal();

    // Create a Javascript context for this BrowserComponent
    JavascriptContext ctx = new JavascriptContext(c);


 JSObject window = (JSObject)ctx.get("window");   

    window.set("addAsync", new JSFunction(){

        public void apply(JSObject self, final Object[] args) {
            String a = (String)args[0];
           // Double b = (Double)args[1];


           System.out.println("Value picked is "+a);


            JSObject callback = (JSObject)args[1];


            callback.call(new Object[]{new String(a)});


            System.out.println("ok Good");
        }

    });


   } 
};



  b.setPage( "<html lang=\"en\">\n" +
   " <head>\n" +
    " <meta charset=\"utf-8\">\n" +
    " <script>\n" +
"function test() {"+
   " var radios = document.getElementsByName('radiotest');"+
 " var found = 1;"+
 "  for (var i = 0; i < radios.length; i++) { "  +
  "  if (radios[i].checked) {"+
  // "   document.getElementById('input3').setAttribute('value',       radios[i].value); "  +   

    "    alert(radios[i].value);"+

     "   found = 0;"+
     "   break;"+
    "  }"+
    "}"+
   " if(found == 1)"+
  "  {"+
  "  alert('Please Select Radio');"+
   " }  "+
  "}"+      


   // + \n" +
  " var radios = document.getElementsByName('radiotest')"+
       " document.addEventListener('click', function(){\n" +
   " var found = 1;"+ 
   "  for (var i = 0; i < radios.length; i++) { "  +
  "  if (radios[i].checked) {"+
    // "   document.getElementById('input3').setAttribute('value',       radios[i].value); "  +   

       "    alert(radios[i].value);"+

        "   found = 0;"+
        "   break;"+
     "  }"+
          "}"+
       " if(found == 1)"+
       "  {"+
     "  alert('Please Select Radio');"+
         " }  "+      


"       a = document.getElementById('val1').value ;\n" +
"       b = document.getElementById('val2').value\n" +
"       window.addAsync(a, b, function(result){\n" +
"       document.getElementById('result').innerHTML = result;\n" +
"        });\n" +
"    }, true);  "
         + ""      +

" </script>\n" +
" </head>\n" +
" <body >\n" +
    "   <table border='0' cellspacing = '15'>"+
              "  <thead>"+

      "          </thead>"+
            "    <tbody>"+
               "     <tr>"+

                "  <td><font size = '3'> <b>A </font></b><input type='radio' name='radiotest'  id='val1' onclick='test()' value='1'  style='border: none;'> value1</input>"+
"</td>"+
                "    </tr>"+
                  "  <tr>"+
                      "  <td><font size = '3'> <b> B</font></b><input type='radio' name='radiotest' id='val2' onclick='test()' value='2' style='border: none;'> value2</input>"+
"</td>"+            " </tr>"+
                       "  <tr>"+
                       " <td> <font size = '3'> <b>C </font></b><input type='radio' name='radiotest' id='val3' onclick='test()' value='3'style='border: none;'> value3</input>"+
              "        </tr>"+
                         "<tr>"+
                         " <td> <font size = '3'> <b>D </font></b> <input type='radio' name='radiotest'id='val4' onclick='test()' value='4'style='border: none;'> value4</input>"+
                  "  </tr>"+
                "</tbody>"+
            "</table>"+       
           "<span id=\"result\"></span>"+

" </body>\n" +
"</html>", null);


hi.setLayout(new BorderLayout());



hi.setLayout(new BorderLayout());
hi.addComponent(BorderLayout.CENTER, b);
hi.show();
formhi=新表单(“hi-World”);
最终WebBrowser b=新WebBrowser(){
@凌驾
公共void onLoad(字符串url){
//因为我们需要等待页面,所以被置于onLoad
//加载以与之交互。
BrowserComponent c=(BrowserComponent)this.getInternal();
//为此BrowserComponent创建Javascript上下文
JavascriptContext ctx=新的JavascriptContext(c);
jsobjectwindow=(JSObject)ctx.get(“window”);
set(“addAsync”,新的JSFunction(){
public void apply(JSObject self,final Object[]args){
字符串a=(字符串)参数[0];
//双b=(双)参数[1];
System.out.println(“选择的值为”+a);
JSObject回调=(JSObject)参数[1];
callback.call(新对象[]{newstring(a)});
System.out.println(“良好”);
}
});
} 
};
b、 设置页(“\n”+
“\n”+
“\n”+
“\n”+
“函数测试(){”+
“var radios=document.getElementsByName('radiotest')+
“找到的变量=1;”+
“对于(var i=0;i
上面的代码不适用于我。请帮助

我现在面临的问题是,当通过收集单选按钮的值进行检查时,将actionListener添加到单选按钮,并相应地将这些值插入数据库

我已经编辑了我的代码,通过下面的代码,我可以通过javascript函数获得选择的值。现在,我如何在单击单选按钮时将单选按钮的值插入数据库中。

       Form hi = new Form("BrowserComponent", new BorderLayout());
BrowserComponent bc = new BrowserComponent();
bc.setPage( "<html lang=\"en\">\n" +
" <head>\n" +
" <meta charset=\"utf-8\">\n" +

" </head>\n" +
" <body >\n" +
    "   <table border='0' cellspacing = '15'>"+
              "  <thead>"+

      "          </thead>"+
            "    <tbody>"+
               "     <tr>"+

                "  <td><font size = '3'> <b>A </font></b><input type='radio' name='radiotest' id = 'val1' onclick='test()'  value='1' style='border: none;'> value1</input>"+
"</td>"+
                "    </tr>"+
                  "  <tr>"+
                      "  <td><font size = '3'> <b> B</font></b><input type='radio' name='radiotest'id = 'val2' onclick='test()' value='2' style='border: none;'> val2</input>"+
"</td>"+
                        " </tr>"+
                       "  <tr>"+
                       " <td> <font size = '3'> <b>C </font></b><input type='radio' name='radiotest' onclick='test()' value='3'style='border: none;'> val3</input>"+


              "        </tr>"+
                         "<tr>"+
                         " <td> <font size = '3'> <b>D </font></b> <input type='radio' name='radiotest' onclick='test()' value='4'style='border: none;'> val4</input>"+

                  "  </tr>"+
                "</tbody>"+
            "</table>"+       





  " <script type='text/javascript'>" +

   //This javascript is perfect now.           
  "function test() {"+
   " var radios = document.getElementsByName('radiotest');"+
   " var found = 1;"+
  "  for (var i = 0; i < radios.length; i++) { "  +
      "  if (radios[i].checked) {"+
      // "   document.getElementById('input3').setAttribute('value', radios[i].value); "  +   
           // "    instruction = document.getElementById('input3').value"  +
            //   "'"+option_code2+"'"+
        "    alert(radios[i].value);"+

         "   found = 0;"+
         "   break;"+
     "  }"+
   "}"+
   " if(found == 1)"+
  "  {"+
  "  alert('Please Select Radio');"+
   " }  "+
"}"+

      "</script>"+


" </body>\n" +
"</html>", null);
TextField tf = new TextField();
hi.add(BorderLayout.CENTER, bc).
add(BorderLayout.SOUTH, tf);
//bc.addWebEventListener("onLoad", (e) -> bc.execute("fnc('<p>Hello World</p>')"));



hi.show();
Form hi=新表单(“BrowserComponent”,new BorderLayout());
BrowserComponent bc=新的BrowserComponent();
bc.setPage(“\n”+
“\n”+
“\n”+
“\n”+
“\n”+
"   "+
"  "+
"          "+
"    "+
"     "+
“价值1”+
""+
"    "+
"  "+
“B val2”+
""+
" "+
"  "+
“C val3”+
"        "+
""+
“D val4”+
"  "+
""+
""+       
" " +
//这个javascript现在是完美的。
“函数测试(){”+
“var radios=document.getElementsByName('radiotest')+
“找到的变量=1;”+
“对于(var i=0;ibc.execute(“fnc(“helloworld

”)”)); 嗨,show();
确保您的库是最新的,如果JavaScript桥对
setURL
正常工作,但对
setPage
失败,这听起来像是我们在最近的更新中修复的问题。

确保您的库是最新的,如果JavaScript桥对
setURL
正常工作,但对
setPage失败e> 这听起来像是我们在最近的一次更新中修复的东西。

为什么要使用HTML?这真的很难调试,因为有很多地方可能会失败。我有一些问题将从数据库中提出,关于下标,上标,只有在HTML中才能完美处理。我面临的真正问题是将EventListener添加到选中时为单选按钮。如果选中时我可以将EventListener添加到单选按钮,我将调用单选按钮的值并将其插入数据库。谢谢您的回答,先生。我已编辑