Javascript 将多个URL从多个值插入inputfields
我有一个fetch-get请求,它解析页面并获取一些参数以生成新的url并将其插入输入字段Javascript 将多个URL从多个值插入inputfields,javascript,extjs,fetch,Javascript,Extjs,Fetch,我有一个fetch-get请求,它解析页面并获取一些参数以生成新的url并将其插入输入字段 我有多个值,分别来自value1、value2、value3 问题是如何从这个参数生成多个URL并将其插入字段(字段应动态生成)? 现在,窗体不生成的窗口 若我将break放入循环中,代码将使用表单生成窗口,但只显示一个url 因此,代码应该是带有表单的窗口和带有URL的三个输入字段 var url='google.com/page1' 获取(url{ 方法:“GET”, 凭据:“包括”, }) .然后
我有多个值,分别来自
value1
、value2
、value3
问题是如何从这个参数生成多个URL并将其插入字段(字段应动态生成)?
现在,窗体不生成的窗口 若我将
break
放入循环中,代码将使用表单生成窗口,但只显示一个url
因此,代码应该是带有表单的窗口和带有URL的三个输入字段
var url='google.com/page1'
获取(url{
方法:“GET”,
凭据:“包括”,
})
.然后(功能(响应){
返回response.text()
})
.then(函数(html){
var parser=新的DOMParser();
var doc=parser.parseFromString(html,“text/html”);
var value4='test4';
var UrlArr=[];
如果(条件){
var name=doc.querySelectorAll(“someClass”);
对于(变量i=0;i=2){
var newForm=Ext.create('Ext.form.Panel'{
标题:“表格”,
宽度:250,
自动高度:正确,
autoScroll:是的,
车身衬垫:10,
id:'表格',
});
函数newRadio(){
var无线电=新的Ext.form.radio({
身高:40,
标签宽度:110,
宽度:20,
名称:“url”,
});
回程无线电;
}
函数newTextArea(id){
var textArea=新的Ext.form.textArea({
字段标签:i+“\U url”,
身高:30,
标签宽度:110,
宽度:330,
次值:false,
只读:对,
autoScroll:是的,
id:id
});
返回文本区;
}
对于(i=0;ivar url = 'google.com/page1'
fetch(url, {
method: 'GET',
credentials: 'include',
})
.then(function (response) {
return response.text()
})
.then(function (html) {
var parser = new DOMParser();
var doc = parser.parseFromString(html, "text/html");
var value4 = 'test4';
var UrlArr = [];
if (condition) {
var name = doc.querySelectorAll("someClass");
for (var i = 0; i < name.length; i++) {
var allNames = name[i].outerHTML;
var value1 = allNames.match('MyregExp1')[0];
var value2 = allNames.match('MyregExp2')[0];
var value3 = allNames.match('MYregExp3')[0];
var newUrl = `google.com/?${value1}&${value2}&${value3}&test=${value4}`;
console.log(value1);
console.log(value2);
console.log(value3);
console.log(newUrl);
UrlArr.push(newUrl);
}
if (allNames.length >= 2) {
var newForm = Ext.create('Ext.form.Panel', {
title: 'Form',
width: 250,
autoHeight: true,
autoScroll: true,
bodyPadding: 10,
id: 'Form',
});
function newRadio() {
var radio = new Ext.form.Radio({
height: 40,
labelWidth: 110,
width: 20,
name: 'url',
});
return radio;
}
function newTextArea(id) {
var textArea = new Ext.form.TextArea({
fieldLabel: i + '_url',
height: 30,
labelWidth: 110,
width: 330,
submitValue: false,
readOnly: true,
autoScroll: true,
id: id
});
return textArea;
}
for (i = 0; i < name.length; i++) {
var id = i;
id = 'field_' + id;
var field = newTextArea(id);
var radioGr = newRadio();
var cont = NewContainer();
field.setValue(UrlArr[i]);
newForm.add(cont);
}
function NewContainer() {
var container = new Ext.container.Container({
xtype: 'container',
layout: 'hbox',
items: [radioGr, field]
});
return container;
}
var win = new Ext.Window({
title: "Window",
layout: 'fit',
modal: 'true',
height: 500,
width: 385,
items: [newForm],
buttons: [{
text: "Confirm",
handler: function () {}
}]
});
win.show();
}
}
});