我通常使用PHP,所以很遗憾没有一些基本的JS原则.这就是我想要完成的任务 - 我已经看过很多关于这个主题的帖子,但它们通常超出我的需要.
这是我的表格:
<input type="checkbox" name="checkbox" value="check" />
<input type="submit" name="email_submit" value="submit" onclick="----??----" />
Run Code Online (Sandbox Code Playgroud)
复选框是一个简单的"我同意".我希望按下提交按钮,只有选中该复选框才会提交.
事情是这样的:我想要简单,欺骗的方式 - 没有方法 - 只是那种形式的内联代码(假设它不会过长?).这不是一个公共页面,我只需要使用这种类型的验证快速而简单.如果未选中,则会抛出alert(); 如果它被检查它将通过邮件提交通过PHP并继续正常.
我已经在面向对象的PHP中完成了大量的代码,但到目前为止,我的所有类都是"单数",我想你可以调用它.我正在改变几个类(有5个左右相同的方法)来扩展一个类(以摆脱重复的代码).我遇到了一些问题.
我试图访问父类中的方法,但您可以看到问题.
家长班:
class DatabaseObject {
public static function find_all() {
return self::find_by_sql("SELECT * FROM " . self::$table_name);
}
}
Run Code Online (Sandbox Code Playgroud)
儿童班:
class Topics extends DatabaseObject {
protected static $table_name = "master_cat";
protected static $db_fields = array('cat_id', 'category');
public $cat_id;
public $category;
}
Run Code Online (Sandbox Code Playgroud)
代码尝试从php/html文件访问此表中的所有信息:
$topics=Topics::find_all();
foreach($topics as $topic):
echo $topic->category;
endforeach;
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,大多数代码尚未合并到新的处理方式中.我需要更改self :: $ table_name,它不再以我正在做的新方式工作.我将有大约5个类扩展这个对象,所以最好的编码方式是什么,所以我可以用一个方法访问不同的表(而不是在5个不同的类中包含这个精确的find_all()方法.
更新:请参阅赏金以了解扩展问题.
我有一个GestureDetector设置ListView.ListView是一个完整的片段,它来自窗口的一侧并部分覆盖另一个片段.我想让用户能够将其轻扫(即Wunderlist是右侧此功能的一个很好的例子).
这是我的设置:
gestureListener = new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if (gestureDetector.onTouchEvent(event)) {
return true;
}
return false;
}
};
listView.setOnTouchListener(gestureListener);
Run Code Online (Sandbox Code Playgroud)
听众本身:
public class GestureListener extends SimpleOnGestureListener {
private static final int SWIPE_MIN_DISTANCE = 180;
private static final int SWIPE_THRESHOLD_VELOCITY = 50;
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
try {
if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE
&& Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
FragmentManager fma = getActivity() …Run Code Online (Sandbox Code Playgroud) listeners片段中的其他元素没有被初始化.(比如FAB).唯一正常运行的东西是内置的任何东西adapter(即ListView行)问题:打开导航抽屉,单击列表项打开一个新Fragment的同一个Activity.再次打开导航抽屉,单击应该简单替换现有的相同项目,Fragment当Fragment打开时,所有以Java编程设置的元素(文本,颜色,侦听器)都不会更改/添加到Fragment.视图只是默认xml布局.我已经证实了Log.d这,设置这些东西的代码是正在运行的时间.(如果你打开一个不同的Fragment,然后回到原来的,一切正常)
确认原因: 更改此内容时:
compile "com.android.support:appcompat-v7:25.0.1"
compile 'com.android.support:design:25.0.1'
Run Code Online (Sandbox Code Playgroud)
至
compile "com.android.support:appcompat-v7:25.1.0"
compile 'com.android.support:design:25.1.0'
Run Code Online (Sandbox Code Playgroud)
(如果只更改了其中一个库,那么哪个库仍然无关紧要)
我已经确认更改这两个库是问题(在第二个应用程序中也确认了这个问题 - 并且仅更改此代码,具有完全相同的结果)
我的问题是,为什么会发生这种情况以及如何解决?
原始问题的代码和更详细的描述:
FragmentTransaction tItems = fm.beginTransaction();
ListFragment mFrag = new PlannerFragment();
tItems.replace(R.id.main_frag, mFrag, TAG_CALC_FRAGMENT);
tItems.commit();
Run Code Online (Sandbox Code Playgroud)
我的抽屉里有大约4个选项都可以打开这个片段,但在每个选项之前,我设置了一个像这样的全局变量:
MyApp.PlanType = "highbal";
MyApp.PlanType = "lowbal";
etc.
Run Code Online (Sandbox Code Playgroud)
基于PlanType值(上面),Fragment加载了不同的数据(但是,在完全相同的xml布局中).它只是ListView一个标题.
这个Fragment,(PlannerFragment …
我有一个功能正常的应用程序,不会强制关闭或崩溃.但是当我看LogCat时,它偶尔会给我这个:
05-20 15:24:55.338: E/SQLiteDatabase(12707): close() was never explicitly called on database '/data/data/com.---.--/databases/debt.db'
05-20 15:24:55.338: E/SQLiteDatabase(12707): android.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here
Run Code Online (Sandbox Code Playgroud)
一点点下来......
05-20 15:24:55.338: E/System(12707): Uncaught exception thrown by finalizer
05-20 15:24:55.338: E/System(12707): java.lang.IllegalStateException: Don't have database lock!
Run Code Online (Sandbox Code Playgroud)
我不确定何时应该打开和关闭我的数据库?
我有一个主要活动,只是一个闪屏.然后它进入一个使用来自DB的信息调用ListView的活动; 所以在这个 DB首次打开的活动中.
还有一个其他活动,其中需要DB与ListVeew分支.什么时候我应该打开和关闭这个?Word似乎是我只需要打开一次,然后在应用程序"暂停","停止"或"销毁"时关闭.
如果是这种情况,我在哪里将db.close()方法放在启动屏幕主要活动中,其中onStop等位于何处?或者与打开数据库的活动相同的活动?或..还有另一个地方吗?
更新:
这是错误指向的代码行:
public void open() throws SQLException {
database = dbHelper.getWritableDatabase();
}
Run Code Online (Sandbox Code Playgroud) 我用它构建了一个数据库模式(或模型?)MySQL Workbench.我现在想把它变成一个真正的数据库.
我已经看到了正向和反向工程师选项,如果我需要的话,我找不到明确的答案.
如何将其转换为实际数据库?
我有这个变量:
$timestamp = strftime("%Y-%m-%d %h:%M:%S %a", time ());
Run Code Online (Sandbox Code Playgroud)
我只想添加三个小时并回复它.
我已经看到了你可以用60*60*3方法或硬代码"+ 3小时"来理解单词的方式.
获得此结果的最佳方法是什么?
我正在尝试将ProgressDialog移动到我的ActionBar.
我知道如何将它放在动作栏中并为其设置动画(我认为),如下所示:
在progress.xml中
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:weightSum="1" >
<ProgressBar
android:id="@+id/progress"
style="?android:attr/progressBarStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
</ProgressBar>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
在menu.xml中
<item
android:id="@+id/Refresh"
android:icon="@drawable/ic_menu_refresh"
android:showAsAction="always"
android:title="Refresh"/>
Run Code Online (Sandbox Code Playgroud)
在我的活动中
case R.id.Refresh:
item.setActionView(R.layout.progress);
return true;
Run Code Online (Sandbox Code Playgroud)
这里是我目前的PD(在活动)onPreExecute和onPostExecute我的AsyncTask的:
// Pre
dialog = new MyProgressDialog(---.this);
dialog.show(---.this);
// Post
dialog.dismiss(---.this);
Run Code Online (Sandbox Code Playgroud)
那么如何移动它以便激活操作栏指示器onPreExecute然后停止onPostExecute?
编辑:当你第一次加载一个活动(或做一些需要PD激活的东西)时,我不仅要寻找刷新,而且还要寻找"加载"指示器.它应该默认隐藏.
这是我的ToggleButton:
<ToggleButton
android:id="@+id/bSmenuTopItems"
android:layout_width="wrap_content"
android:layout_height="48dp"
android:background="@drawable/master_button_selector"
android:drawableLeft="@drawable/flame_icon" />
Run Code Online (Sandbox Code Playgroud)
我在这张图片中没有文字,我需要一个ToggleButton由于活跃状态.
编辑:我认为问题被误解了.Toggle Button(flame_icon)内部有一个drawable ,它被设置为background.我希望它集中在一起.没有文字,只有图像.我需要一个切换按钮,因为我需要选择一个活动状态.
只有drawableLeft,drawableRight,drawableTop,等我想draweableMiddle这似乎并不exisit.
当有空div时contenteditable="true":
CSS:
[contenteditable="true"] {
border: 1px dashed #dedede;
padding: 3px;
}
Run Code Online (Sandbox Code Playgroud)
HTML:
<div contenteditable="true">
<!-- blank by default -->
</div>
Run Code Online (Sandbox Code Playgroud)
在IE和Chrome中,它显示高度,就像具有小填充的普通输入字段一样.在Firefox中,它只显示我在样式中添加的3px填充.没有,它崩溃,只有边界高.
你知道这是不是Firefox的bug?你能建议一种处理它的方法吗?