2013-05-07 3 views
0

SiteA.com에 양식이 있으며이 사이트에서이 양식을 사용하는 SiteB.com에 소프트웨어가 있습니다. SiteA의 양식을 SiteB의 프로그램에 제출하려면 어떻게해야합니까?Sitemagic CMS의 자매 도메인에 양식을 제출하는 방법

양식 코드는 다음과 같습니다

<table cellspacing="10" bgcolor="#CCCCCC" style="border: 1px solid #000000;"><tr><td> 
<form action="http://rootdomain.com/SiteB(addondomain)/Program/s.php" method=GET> 
<strong><font color="#660000">Your name (First, Last):</font></strong><br> 
<input type="text" name="f" style="background-color : #FFFFFF" size=11 maxlength=40> 
<input type="text" name="l" style="background-color : #FFFFFF" size=11 maxlength=40> 
<br><br> 
<strong><font color="#000066">Email address:</font></strong><br> 
<input type="text" name="e" style="background-color : #FFFFFF" size=20 maxlength=50> 
<input type="image" src="http://rootdomain.com/SiteB(addondomain)/Program/images/go-button.gif" name="submit" value="Submit"><br> 
<input type="hidden" name="r" value="1"> 
<input type="hidden" name="a" value="sub"> 
<input type="hidden" name="ref" value="none"> 
<br> 
<font color="#003300">HTML: <input type="RADIO" name="h" value="1">Yes 
<input type="RADIO" name="h" value="0" checked="checked">No<br> 
</font></form> 
</td></tr></table>` 

업데이트 : 나는 일반적인 HTML 페이지에 넣어 경우 양식이 자매 사이트에서 작동 것을 발견했다. 그러나 SiteMagic이라는 CMS를 사용하고 있는데, 간단히 말해 SiteMagic 페이지에 임베드 될 때 기능이 제한되는 것처럼 보입니다. 어떻게 그걸 막을 수 있니? 어떤 이유로 CMS 페이지에 포함 된 경우 양식 단추가 확인 페이지로 리디렉션되지 않으며 데이터 수집 프로그램에 정보를 제출하지 않습니다. 이유를 결정하도록 도와 줄 수 있습니까? CMS를 포기하지 않고 어떻게 해결할 수 있습니까?

+0

이 문제에 부딪 치는 사람은 누구나 Sitemagic 사람들의 답변 : > " Sitemagic CMS에 양식 코드를 붙여 넣을 수 없습니다. 그 이유는 Sitemagic CMS가 전체

요소를 사용하여 상태를 보존하는 상태 저장 응용 프로그램이기 때문입니다. 다른 양식 내의 양식은 브라우저에서 지원되지 않습니다. 가장 쉬운 방법은 Sitemagic CMS에서 외부 리소스를로드 할 수있게 해주는 "외부 모듈"확장 프로그램을 사용하는 것입니다. 이 간단한 튜토리얼을 확인해보십시오 : sitemagic.org/cms-guide/MoreExternalModules.html " " – ELF

+0

불행히도 그들의 메소드 또한 (외부 모듈이라고도 함) 양식이 CMS 외부의 다른 페이지에 표시되도록 요구하는 것 같습니다. iframe 메서드와 동일한 문제가 있습니다. 각 새로운 양식 및 참조에 대해 CMS 외부에서 페이지를 작성해야하며, PHP 양식 소프트웨어를 통해 HTML 양식 코드를 생성해야합니다. 일단 양식이 외부에 임베드되면 페이지 iframe 또는 ExternalModules 메서드를 사용할 수 있다고 생각합니다. 아마도 새로운 CMS를 찾을 것입니다. @Rebule. – ELF

답변

0

이것은 실제로 매우 쉽게 달성 할 수 있으며 선택할 수있는 몇 가지 옵션이 있습니다. Sitemagic CMS은 매우 유연합니다.

개인적으로는 SMRequest 클래스를 사용하여 데이터를 보낼 것입니다 확장을 만들 것입니다 :

$data = new SMKeyValueCollection(); 
$data["Username"] = "Casper"; 
$data["Age"] = "29"; 
$data["Mail" = "[email protected]"; 
SMRequest::Post("http://siteB.com/create.php", $data); 
여기

상세 정보 : 그러나 http://sitemagic.org/developers/api/#base/SMRequest

, 가장 쉬운 방법은 일시적으로 양식 대상을 변경하는 것 (조치) JavaScript를 사용하여 - 확장자가 바람직 함 :

var smForm = document.getElementById("SMForm"); 
var oldTarget = smForm.action; 

smForm.action = "http://siteB.com/save.php"; 
smForm.submit(); 
smForm.action = oldTarget; 
0

먼저 시도, 양식 액션 = http://siteb.com/program/s.php

액션 으로 = /path-to-file/siteb/program/s.php

그 didnt 한 후 귀하의 CMS로 문제를 해결할를 추가하려고하면 양식을 직접 작성하거나 Ajax, jquery를 사용하여 제출 된 양식을 가져 오십시오. 모든 CMS는 jquery 스크립트를 허용합니다. 편집기를 선택하여 스크립트를 필터링했습니다.

귀하의 CMS에 가장 적합한 기능은 iframe>을 사용하여 siteB에서 양식을 가져 오는 것입니다 (같은 폴더에 s.php로 siteB의 양식을 작성하십시오).

희망을 얻었습니다.

+0

고맙습니다. @Rebule 불행히도 이들과 합병증이있었습니다.나는 iframe이 좋을 것이라고 생각했지만 CMS에 연결하기 위해 양식이있는 페이지를 만들어야하고, 새로운 양식을 만들 때마다 그렇게해야한다. 한 페이지, 한 페이지에 대해 두 페이지에 하나의 양식이 될 것입니다. 모든 페이지는 조금 어수선 할 수 있습니다. 사이트 맵은 "다른 양식 내의 양식"이기 때문에 작업 경로 변경이 도움이되지 않는다고 말합니다. 내가 찾던 답이 바로 이번에는 효과가 없었습니다. – ELF

관련 문제