我想检查用户填写输入名称"field1"时是否存在名为"field2"的输入标签.我是通过使用onchangefield1 input标签上的事件执行JavaScript函数来实现的.(我正在使用警告框进行测试.)如果field2不存在,JavaScript会单击一个按钮,表单会更新为同时包含field1和field2.但是即使field2存在,警报框也会弹出,无论我使用哪3种方法.我if用null和'undefined'等尝试了各种组合.
如果field2存在,为什么会弹出警告框?
function foobar(){
if(!document.getElementsByName("field2"){
alert("foobar");
}
if(!document.forms[0].field2){
alert("foobar");
}
if(!document.forms[0].elements.namedItem("field2"){
alert("foobar");
}
}
Run Code Online (Sandbox Code Playgroud) -Wcast-qual在stristr()的return行上输出此警告.问题是什么 ?
警告:从指针目标类型转换丢弃限定符
char *stristr(const char *string, const char *substring)
{
size_t stringlength = strlen(string);
char *stringlowered = malloc(stringlength + 1);
strcpy(stringlowered, string);
tolower2(stringlowered); // in my source it has a different name, sorry.
char *substringlowered = malloc(strlen(substring) + 1);
strcpy(substringlowered, substring);
tolower2(substringlowered); // in my source it has a different name, sorry.
const char *returnvalue = strstr(stringlowered, substringlowered);
if(returnvalue != NULL)
{
size_t returnvaluelength = strlen(returnvalue);
returnvalue = string;
returnvalue += stringlength - returnvaluelength;
}
free(stringlowered); …Run Code Online (Sandbox Code Playgroud) // File foo1.c :
#include <stdio.h> // once
void foo1(void);
void foo1(void){
puts("foo1");
}
// File foo2.c :
#include <stdio.h> // again
void foo2(void);
void foo2(void){
puts("foo2");
}
// File foomain.c :
#include <stdio.h> // yet again
void foo1(void); // again
void foo2(void); // again
int main(void){
foo1();
foo2();
puts("foomain");
return 0;
}
// create object files
gcc -fPIC foo1.c -o foo1.o // 1 stdio.h
gcc -fPIC foo2.c -o foo2.o // 1 stdio.h
// create shared library
gcc -fPIC -shared …Run Code Online (Sandbox Code Playgroud)